2828import reframe .utility .jsonext as jsonext
2929import reframe .utility .osext as osext
3030import reframe .utility .typecheck as typ
31+ from reframe .core .warnings import suppress_deprecations
3132from reframe .frontend .testgenerators import (distribute_tests ,
3233 getallnodes , repeat_tests ,
3334 parameterize_tests )
@@ -149,13 +150,18 @@ def describe_checks(testcases, printer):
149150 #
150151 # 1. Add other fields that are relevant for users
151152 # 2. Remove all private fields
152- rec ['name' ] = tc .check .name
153- rec ['unique_name' ] = tc .check .unique_name
154- rec ['display_name' ] = tc .check .display_name
153+ cls = type (tc .check )
154+ if hasattr (cls , 'loggable_attrs' ):
155+ for name , alt_name in cls .loggable_attrs ():
156+ key = alt_name if alt_name else name
157+ try :
158+ with suppress_deprecations ():
159+ rec .setdefault (key , getattr (tc .check , name ))
160+ except AttributeError :
161+ rec .setdefault (key , '<undefined>' )
162+
155163 rec ['pipeline_hooks' ] = {}
156164 rec ['perf_variables' ] = list (rec ['perf_variables' ].keys ())
157- rec ['prefix' ] = tc .check .prefix
158- rec ['variant_num' ] = tc .check .variant_num
159165 for stage , hooks in tc .check .pipeline_hooks ().items ():
160166 for hk in hooks :
161167 if hk .__name__ not in tc .check .disabled_hooks :
@@ -1041,6 +1047,8 @@ def restrict_logging():
10411047 if options .describe_stored_sessions :
10421048 # Restore logging level
10431049 printer .setLevel (logging .INFO )
1050+ printer .set_handler_level (logging .WARNING ,
1051+ lambda htype : htype != 'stream' )
10441052 with exit_gracefully_on_error ('failed to retrieve session data' ,
10451053 printer ):
10461054 printer .info (jsonext .dumps (reporting .session_info (
@@ -1051,6 +1059,8 @@ def restrict_logging():
10511059 if options .describe_stored_testcases :
10521060 # Restore logging level
10531061 printer .setLevel (logging .INFO )
1062+ printer .set_handler_level (logging .WARNING ,
1063+ lambda htype : htype != 'stream' )
10541064 namepatt = '|' .join (n .replace ('%' , ' %' ) for n in options .names )
10551065 with exit_gracefully_on_error ('failed to retrieve test case data' ,
10561066 printer ):
@@ -1366,7 +1376,7 @@ def _case_failed(t):
13661376 params = {}
13671377 for param_spec in options .parameterize :
13681378 try :
1369- var , values_spec = param_spec .split ('=' )
1379+ var , values_spec = param_spec .split ('=' , maxsplit = 1 )
13701380 except ValueError :
13711381 raise errors .CommandLineError (
13721382 f'invalid parameter spec: { param_spec } '
0 commit comments