diff --git a/.bin/Scripts/functions/hw_diags.py b/.bin/Scripts/functions/hw_diags.py index 0fd714bb..8c270e34 100644 --- a/.bin/Scripts/functions/hw_diags.py +++ b/.bin/Scripts/functions/hw_diags.py @@ -539,6 +539,8 @@ def post_drive_results(ticket_number): report.append('Drive hardware diagnostics tests: UNKNOWN') elif dev_passed: report.append('Drive hardware diagnostics tests: Passed') + else: + report.append('Drive hardware diagnostics tests: INCOMPLETE') report.append('') # Drive description @@ -601,7 +603,7 @@ def post_drive_results(ticket_number): # badblocks bb_status = TESTS['badblocks']['Status'].get(name, None) - if TESTS['badblocks']['Enabled'] and bb_status not in ['Denied', 'Skipped']: + if TESTS['badblocks']['Enabled'] and bb_status not in ['Denied', 'Skipped', 'Aborted']: report.append('badblocks ({}):'.format( TESTS['badblocks']['Status'][name])) bb_result = TESTS['badblocks']['Results'].get( @@ -622,7 +624,7 @@ def post_drive_results(ticket_number): # I/O Benchmark io_status = TESTS['iobenchmark']['Status'].get(name, None) - if TESTS['iobenchmark']['Enabled'] and io_status not in ['Denied', 'ERROR', 'Skipped']: + if TESTS['iobenchmark']['Enabled'] and io_status not in ['Denied', 'ERROR', 'Skipped', 'Aborted']: one_line_graph = generate_horizontal_graph( rates=TESTS['iobenchmark']['Data'][name]['Merged Rates'], oneline=True) @@ -659,7 +661,7 @@ def post_drive_results(ticket_number): # Used space report.append('') report.append('Volumes:') - if dev_failed: + if dev_failed or dev_unknown: report.append('Skipped due to error(s) above.') else: volume_report = mount_volumes( @@ -1087,6 +1089,11 @@ def run_mprime(ticket_number): if aborted: if TESTS['NVMe/SMART']['Enabled'] or TESTS['badblocks']['Enabled']: if not ask('Proceed to next test?'): + for name in TESTS['NVMe/SMART']['Devices'].keys(): + for t in ['NVMe/SMART', 'badblocks', 'iobenchmark']: + cur_status = TESTS[t]['Status'][name] + if cur_status not in ['CS', 'Denied', 'NS']: + TESTS[t]['Status'][name] = 'Aborted' run_program('tmux kill-pane -a'.split()) raise GenericError