-
Sub-task
-
Resolution: Fixed
-
Low
-
None
-
None
Enhance existing instrumentation and embed an array of CloverProfile in instrumented sources/classes, pass this array to Clover.getRecorder().
Java: source based instrumentation
RecorderInstrEmitter + Clover.getRecorder()
- add static field for _CLR class of CloverProfile[] type
Groovy: byte code instrumentation
- instantiate new CloverProfile[]
{ new CloverProfile(), ... }
array at getRecorder() call
[CLOV-1230] Embed clover profile array in instrumented classes
Workflow | Original: New Clover Workflow [ 897327 ] | New: New Clover Workflow - Restricted [ 1473820 ] |
Workflow | Original: Clover Workflow [ 896084 ] | New: New Clover Workflow [ 897327 ] |
Workflow | Original: reviewflow [ 459163 ] | New: Clover Workflow [ 896084 ] |
Status | Original: Resolved [ 5 ] | New: Closed [ 6 ] |
Resolution | New: Fixed [ 1 ] | |
Status | Original: Implemented [ 10025 ] | New: Resolved [ 5 ] |
Status | Original: In Progress [ 3 ] | New: Implemented [ 10025 ] |
Summary | Original: Dynamically select coverage recorder at runtime | New: Embed clover profile array in instrumented classes |
Description |
Original:
Enhance existing instrumentation and embed an array of CloverProfile in instrumented sources/classes, pass this array to Clover.getRecorder().
Java: source based instrumentation RecorderInstrEmitter + Clover.getRecorder() - add static field for _CLR class of *CloverProfile[]* type Groovy: byte code instrumentation - instantiate *new CloverProfile[] { new CloverProfile(), ... }* array at getRecorder() call |
New:
Enhance existing instrumentation and embed an array of CloverProfile in instrumented sources/classes, pass this array to Clover.getRecorder().
Java: source based instrumentation RecorderInstrEmitter + Clover.getRecorder() - add static field for _CLR class of *CloverProfile[]* type Groovy: byte code instrumentation - instantiate new CloverProfile[] { new CloverProfile(), ... } array at getRecorder() call |
Description |
Original:
Java:
RecorderInstrEmitter + Clover.getRecorder() + Groovy: produce code which will read -clover.profile system property and if securityexcetion or null then fallback to "default" should read coverageRecorder value and instantiate proper recorder type should fetch from cache using one of: recorderKey = initString + "_" + dbVersion + "_" + cfgbits; recorderKey = initString; |
New:
Enhance existing instrumentation and embed an array of CloverProfile in instrumented sources/classes, pass this array to Clover.getRecorder().
Java: source based instrumentation RecorderInstrEmitter + Clover.getRecorder() - add static field for _CLR class of *CloverProfile[]* type Groovy: byte code instrumentation - instantiate *new CloverProfile[] { new CloverProfile(), ... }* array at getRecorder() call |
Description |
Original:
Java:
RecorderInstrEmitter + Clover.getRecorder() + produce code which will read -clover.profile system property and if securityexcetion or null then fallback to "default" should read coverageRecorder value and instantiate proper recorder type should fetch from cache using one of: recorderKey = initString + "_" + dbVersion + "_" + cfgbits; recorderKey = initString; |
New:
Java:
RecorderInstrEmitter + Clover.getRecorder() + Groovy: produce code which will read -clover.profile system property and if securityexcetion or null then fallback to "default" should read coverageRecorder value and instantiate proper recorder type should fetch from cache using one of: recorderKey = initString + "_" + dbVersion + "_" + cfgbits; recorderKey = initString; |