-
Notifications
You must be signed in to change notification settings - Fork 117
Closed
Description
This code will fail with:
version: 3.2-dev0 (rev: 576eb3f1)
PERFORMANCE REPORT
------------------------------------------------------------------------------
FailTest
- dom:login
- PrgEnv-gnu
* num_tasks: 1
* elapsed_time: 8 s
* filename: 8 (9.cpp)
------------------------------------------------------------------------------
reframe: type error: ../../../../../../../../usr/lib64/python3.6/json/encoder.py:180:
Object of type '_DeferredExpression' is not JSON serializable
o.__class__.__name__)
when run like this:
reframe -C cscs.py -p PrgEnv-gnu \
--keep-stage-files --prefix=$SCRATCH \
--report-file eff.json \
--performance-report -v -r -c bug_report.py'I believe the issue is in the json reporting.
import os, sys
import reframe as rfm
import reframe.utility.sanity as sn
@rfm.simple_test
class FailTest(rfm.RunOnlyRegressionTest):
def __init__(self):
self.descr = ('RunOnlyRegressionTest')
self.valid_systems = ['dom:login']
self.valid_prog_environs = ['PrgEnv-gnu']
self.executable = 'echo 9.cpp'
self.sanity_patterns = sn.assert_found('9', self.stdout)
self.perf_patterns = {
'elapsed_time': self.elapsed,
'filename': self.elapsed,
}
self.reference = {
'*': {
'elapsed_time': (0, None, None, 's'),
'filename': (0, None, None, self.fnm),
}
}
@property
@sn.sanity_function
def elapsed(self):
return 8
@property
@sn.sanity_function
def fnm(self):
return '(9.cpp)'