@@ -401,20 +401,20 @@ def main():
401401 'for the selected tests and exit' ),
402402 )
403403 action_options .add_argument (
404- '--delete-stored-session ' , action = 'store' , metavar = 'UUID ' ,
405- help = 'Delete stored session '
404+ '--delete-stored-sessions ' , action = 'store' , metavar = 'QUERY ' ,
405+ help = 'Delete stored sessions '
406406 )
407407 action_options .add_argument (
408408 '--describe' , action = 'store_true' ,
409409 help = 'Give full details on the selected tests'
410410 )
411411 action_options .add_argument (
412- '--describe-stored-session ' , action = 'store' , metavar = 'UUID ' ,
412+ '--describe-stored-sessions ' , action = 'store' , metavar = 'QUERY ' ,
413413 help = 'Get detailed session information in JSON'
414414 )
415415 action_options .add_argument (
416416 '--describe-stored-testcases' , action = 'store' ,
417- metavar = 'SESSION_UUID|PERIOD ' ,
417+ metavar = 'QUERY ' ,
418418 help = 'Get detailed test case information in JSON'
419419 )
420420 action_options .add_argument (
@@ -434,12 +434,11 @@ def main():
434434 )
435435 action_options .add_argument (
436436 '--list-stored-sessions' , nargs = '?' , action = 'store' ,
437- const = 'now-1w:now' , metavar = 'PERIOD ' , help = 'List stored sessions'
437+ const = 'now-1w:now' , metavar = 'QUERY ' , help = 'List stored sessions'
438438 )
439439 action_options .add_argument (
440- '--list-stored-testcases' , action = 'store' ,
441- metavar = 'SESSION_UUID|PERIOD' ,
442- help = 'List stored testcases by session or time period'
440+ '--list-stored-testcases' , action = 'store' , metavar = 'QUERY' ,
441+ help = 'List performance info for stored testcases'
443442 )
444443 action_options .add_argument (
445444 '-l' , '--list' , nargs = '?' , const = 'T' , choices = ['C' , 'T' ],
@@ -617,7 +616,7 @@ def main():
617616 '(default: "now:now/last:+job_nodelist/+result")' )
618617 )
619618 reporting_options .add_argument (
620- '--session-extras' , action = 'store ' , metavar = 'KV_DATA' ,
619+ '--session-extras' , action = 'append ' , metavar = 'KV_DATA' ,
621620 help = 'Annotate session with custom key/value data'
622621 )
623622
@@ -641,15 +640,10 @@ def main():
641640 envvar = 'RFM_SYSTEM'
642641 )
643642 misc_options .add_argument (
644- '--table-format' , choices = ['csv' , 'plain' , 'pretty ' ],
643+ '--table-format' , choices = ['csv' , 'plain' , 'outline' , 'grid ' ],
645644 help = 'Table formatting' ,
646645 envvar = 'RFM_TABLE_FORMAT' , configvar = 'general/table_format'
647646 )
648- misc_options .add_argument (
649- '--table-hide-columns' , metavar = 'COLS' , action = 'store' ,
650- help = 'Hide specific columns from the final table' ,
651- envvar = 'RFM_TABLE_HIDE_COLUMNS' , configvar = 'general/table_hide_columns'
652- )
653647 misc_options .add_argument (
654648 '-v' , '--verbose' , action = 'count' ,
655649 help = 'Increase verbosity level of output' ,
@@ -831,7 +825,7 @@ def restrict_logging():
831825 if (options .show_config or
832826 options .detect_host_topology or
833827 options .describe or
834- options .describe_stored_session or
828+ options .describe_stored_sessions or
835829 options .describe_stored_testcases ):
836830 logging .getlogger ().setLevel (logging .ERROR )
837831 return True
@@ -983,29 +977,29 @@ def restrict_logging():
983977 if options .list_stored_sessions :
984978 with exit_gracefully_on_error ('failed to retrieve session data' ,
985979 printer ):
986- time_period = options .list_stored_sessions
987- if time_period == 'all' :
988- time_period = None
980+ spec = options .list_stored_sessions
981+ if spec == 'all' :
982+ spec = '19700101T0000+0000:now'
989983
990- printer .table (reporting .session_data (time_period ))
984+ printer .table (reporting .session_data (spec ))
991985 sys .exit (0 )
992986
993987 if options .list_stored_testcases :
994988 namepatt = '|' .join (options .names )
995989 with exit_gracefully_on_error ('failed to retrieve test case data' ,
996990 printer ):
997991 printer .table (reporting .testcase_data (
998- options .list_stored_testcases , namepatt
992+ options .list_stored_testcases , namepatt , options . filter_expr
999993 ))
1000994 sys .exit (0 )
1001995
1002- if options .describe_stored_session :
996+ if options .describe_stored_sessions :
1003997 # Restore logging level
1004998 printer .setLevel (logging .INFO )
1005999 with exit_gracefully_on_error ('failed to retrieve session data' ,
10061000 printer ):
10071001 printer .info (jsonext .dumps (reporting .session_info (
1008- options .describe_stored_session
1002+ options .describe_stored_sessions
10091003 ), indent = 2 ))
10101004 sys .exit (0 )
10111005
@@ -1020,11 +1014,12 @@ def restrict_logging():
10201014 ), indent = 2 ))
10211015 sys .exit (0 )
10221016
1023- if options .delete_stored_session :
1024- session_uuid = options .delete_stored_session
1017+ if options .delete_stored_sessions :
1018+ query = options .delete_stored_sessions
10251019 with exit_gracefully_on_error ('failed to delete session' , printer ):
1026- reporting .delete_session (session_uuid )
1027- printer .info (f'Session { session_uuid } deleted successfully.' )
1020+ for uuid in reporting .delete_sessions (query ):
1021+ printer .info (f'Session { uuid } deleted successfully.' )
1022+
10281023 sys .exit (0 )
10291024
10301025 if options .performance_compare :
@@ -1033,7 +1028,9 @@ def restrict_logging():
10331028 printer ):
10341029 printer .table (
10351030 reporting .performance_compare (options .performance_compare ,
1036- namepatt = namepatt )
1031+ None ,
1032+ namepatt ,
1033+ options .filter_expr )
10371034 )
10381035 sys .exit (0 )
10391036
@@ -1598,9 +1595,10 @@ def module_unuse(*paths):
15981595 if options .session_extras :
15991596 # Update report's extras
16001597 extras = {}
1601- for arg in options .session_extras .split (',' ):
1602- k , v = arg .split ('=' , maxsplit = 1 )
1603- extras [k ] = v
1598+ for sess in options .session_extras :
1599+ for arg in sess .split (',' ):
1600+ k , v = arg .split ('=' , maxsplit = 1 )
1601+ extras [k ] = v
16041602
16051603 report .update_extras (extras )
16061604
0 commit comments