@@ -26,6 +26,7 @@ import nextflow.processor.TaskId
2626import nextflow.processor.TaskProcessor
2727import nextflow.processor.TaskRun
2828import nextflow.processor.TaskStatus
29+ import nextflow.trace.config.TraceConfig
2930import nextflow.trace.event.TaskEvent
3031import nextflow.util.CacheHelper
3132import nextflow.util.Duration
@@ -43,16 +44,21 @@ class TraceFileObserverTest extends Specification {
4344 TraceRecord . TIMEZONE = TimeZone . getTimeZone(' UTC' ) // note: set the timezone to be sure the time string does not change on CI test servers
4445 }
4546
47+ def createObserver () {
48+ def config = new TraceConfig ([:])
49+ return new TraceFileObserver (config)
50+ }
51+
4652 def ' test set fields' () {
4753
4854 when :
49- def trace = [:] as TraceFileObserver
55+ def trace = createObserver()
5056 trace. fields = [' task_id' ,' name' ,' status' ]
5157 then :
5258 trace. fields == [' task_id' ,' name' ,' status' ]
5359
5460 when :
55- trace = [:] as TraceFileObserver
61+ trace = createObserver()
5662 trace. fields = [' task_id' ,' name' ,' status' ,' xxx' ]
5763 then :
5864 thrown(IllegalArgumentException )
@@ -63,7 +69,7 @@ class TraceFileObserverTest extends Specification {
6369 def ' test set formats' () {
6470
6571 when :
66- def trace = [:] as TraceFileObserver
72+ def trace = createObserver()
6773 trace. formats = [' str' ,' num' ,' date' ]
6874 then :
6975 trace. formats == [' str' ,' num' ,' date' ]
@@ -75,14 +81,14 @@ class TraceFileObserverTest extends Specification {
7581 def trace
7682
7783 when :
78- trace = [:] as TraceFileObserver
84+ trace = createObserver()
7985 trace. setFieldsAndFormats([' task_id:str' ,' name:str' ,' status:num' , ' start' , ' duration' ])
8086 then :
8187 trace. fields == [' task_id' ,' name' ,' status' , ' start' , ' duration' ]
8288 trace. formats == [' str' ,' str' ,' num' , ' date' , ' time' ]
8389
8490 when :
85- trace = [:] as TraceFileObserver
91+ trace = createObserver()
8692 trace. useRawNumbers(true )
8793 trace. setFieldsAndFormats([' task_id:str' ,' name:str' ,' status:num' , ' start:date' , ' duration:time' , ' realtime' ])
8894 then :
@@ -109,7 +115,8 @@ class TraceFileObserverTest extends Specification {
109115 def now = System . currentTimeMillis()
110116
111117 // the observer class under test
112- def observer = new TraceFileObserver (tracePath : file)
118+ def config = new TraceConfig (file : file. toString())
119+ def observer = new TraceFileObserver (config)
113120
114121 when :
115122 observer. onFlowCreate(null )
@@ -190,7 +197,7 @@ class TraceFileObserverTest extends Specification {
190197 record. wchar = 10_000 * 1024
191198
192199 when :
193- def trace = [:] as TraceFileObserver
200+ def trace = createObserver()
194201 def result = trace. render(record). split(' \t ' )
195202 then :
196203 result[0 ] == ' 30' // task id
@@ -221,8 +228,8 @@ class TraceFileObserverTest extends Specification {
221228 record. rss = 10 * MB
222229
223230 when :
224- def trace = [:] as TraceFileObserver
225- trace. setFieldsAndFormats( ' task_id, syscr, syscw, rss, rss:num' )
231+ def trace = createObserver()
232+ trace. setFieldsAndFormats( [ ' task_id' , ' syscr' , ' syscw' , ' rss' , ' rss:num' ] )
226233 def result = trace. render(record). split(' \t ' )
227234 then :
228235 result[0 ] == ' 5'
@@ -261,8 +268,8 @@ class TraceFileObserverTest extends Specification {
261268 record. realtime = 9005022
262269 record. queue = ' bigjobs'
263270
264- def trace = [:] as TraceFileObserver
265- trace. setFieldsAndFormats(' task_id, hash, native_id, name, status, exit, submit, duration, realtime, %cpu, rss, vmem, peak_rss, peak_vmem, rchar, wchar, syscr, syscw, duration:num, realtime:num, rss:num, vmem:num, peak_rss:num, peak_vmem:num, rchar:num, wchar:num, queue' )
271+ def trace = createObserver()
272+ trace. setFieldsAndFormats([ ' task_id' , ' hash' , ' native_id' , ' name' , ' status' , ' exit' , ' submit' , ' duration' , ' realtime' , ' %cpu' , ' rss' , ' vmem' , ' peak_rss' , ' peak_vmem' , ' rchar' , ' wchar' , ' syscr' , ' syscw' , ' duration:num' , ' realtime:num' , ' rss:num' , ' vmem:num' , ' peak_rss:num' , ' peak_vmem:num' , ' rchar:num' , ' wchar:num' , ' queue' ] )
266273 def result = trace. render(record). split(' \t ' )
267274
268275 then :
0 commit comments