Commit graph

201 commits

Author SHA1 Message Date
9818d5196f
Export state objects as pickle files
This should better ensure debugging an issue will have all the relevant
info at the ready.
2021-03-25 21:15:56 -06:00
2Shirt
080383d9a9 Fix bad call to mount_disk() 2021-03-19 03:37:40 -06:00
2Shirt
207c52663b Allow mounting of protected macOS partitions
Renamed mount_volumes() to mount_disk() to better match diskutil naming.
Dropped read_write from mount_disk() since it isn't used
2021-03-18 22:23:07 -06:00
2Shirt
7c1a9f4bdc Fix osTicket volume report 2021-03-18 21:52:29 -06:00
2Shirt
2b98eeabca Include GPT info when saving hw-diaqs debug data 2021-03-18 21:41:59 -06:00
2Shirt
908ffdc999 Add mount_volumes() to wk.os.mac
Supports both CoreStorage and APFS containers
2021-03-18 03:23:09 -06:00
2Shirt
bc3f6946f7 Add support for macOS High Sierra Base Images 2021-03-17 01:23:12 -06:00
2Shirt
4dc5c51beb Include Mac serial number in OST Post 2021-03-13 03:20:51 -07:00
c1970b8c23
Merge remote-tracking branch 'upstream/dev' into dev 2020-01-30 14:09:13 -07:00
e8522bf2bb
Added pause if fan speed can't be set under macOS
* This can be removed after a bit of real-world testing
2020-01-30 14:08:05 -07:00
c8f95d866a
Typo fix 2020-01-30 13:24:49 -07:00
86f0f1e5fd
Avoid rare crash concerning disk attributes
* Crash would occur under these circumstances:
  * Disk Attributes test was not selected
  * One or more other disk tests were selected
  * A non-blocking attribute error was detected
2020-01-30 13:16:48 -07:00
98032a0fed
Removed stale TODO statements 2020-01-28 19:00:47 -07:00
1a26aead44
Network test working under macOS 2020-01-28 18:38:33 -07:00
869293ced9
Merge remote-tracking branch 'upstream/dev' into dev 2020-01-28 18:30:35 -07:00
f14f5e0d72
Adjusted logging 2020-01-28 18:21:24 -07:00
5cc0456f40
Improve performance under macOS by using rdisks 2020-01-28 18:12:53 -07:00
fe50ce8994
Use new Mac fan sections in HW Diags 2020-01-28 18:08:26 -07:00
f7c6d5d3c3
Only include graph links in osTicket posts 2020-01-22 20:10:17 -07:00
fd8f46be13
Don't export/upload graphs for skipped tests
* e.g. USB device which USB benchmarks disabled
2020-01-22 19:51:01 -07:00
701d647a91
Added I/O Benchmark PNG graph sections 2020-01-22 19:19:54 -07:00
8643ec2c7c
Fixed setting CPU max temp in osTicket 2020-01-22 19:19:00 -07:00
5f9aec8233
Merge remote-tracking branch 'upstream/dev' into dev 2020-01-22 15:38:20 -07:00
5cbb86abd8
Clear screen before starting diags 2020-01-22 15:37:26 -07:00
0348d708d9
Merge remote-tracking branch 'upstream/dev' into dev 2020-01-22 11:29:18 -07:00
bfc17942cd
Added header to SMART self-test output
* Matches badblocks header
* Also added Initializing message
2020-01-22 11:22:47 -07:00
e92ceb070c
Adjusted I/O Benchmark screen layout 2020-01-22 11:21:49 -07:00
e09216012f
List failed tests with overall result in osTicket 2020-01-20 19:08:10 -07:00
710fcc29dc
Catch non-blocking SMART errors between tests
* This doesn't block further tests, just ensures Disk Attributes fails
2020-01-20 18:31:29 -07:00
daffb606ee
Merge remote-tracking branch 'upstream/dev' into dev 2020-01-19 16:00:29 -07:00
1b473b1ab0
Fix pipes when run from hw-diags 2020-01-19 15:14:03 -07:00
5fbd33e845
Fixed HDD checkbox logic 2020-01-17 16:14:29 -07:00
d3597f339e
Added volume report to hw diags 2020-01-16 20:29:07 -07:00
65284860fb
Adjusted HW Diag main menu 2020-01-13 18:40:48 -07:00
47b4ab6636
Merge remote-tracking branch 'upstream/dev' into dev 2020-01-13 17:35:26 -07:00
d8617df871
Adjusted self-test results formatting 2020-01-13 15:45:07 -07:00
b9d0527c52
Added osTicket checkbox sections 2020-01-11 21:23:49 -07:00
9c12dacfb2
Post CPU/Disk results to osTicket 2020-01-11 20:31:39 -07:00
96b755be49
Added osTicket report sections 2020-01-11 19:54:07 -07:00
fef8323282
Pass Disk Attribute test for devices lacking SMART 2020-01-11 19:53:34 -07:00
ea9a9f9a46
Pass Disk Attribute test for devices lacking SMART
* Since these can't fail I think passing them makes sense
2020-01-11 19:51:57 -07:00
a573a7e1c3
Reset top_text before returning to main menu 2020-01-11 16:59:42 -07:00
ceee0495eb
Started integrating osTicket functions in HW Diags 2020-01-10 18:50:21 -07:00
0a2976d9ce
Set pass/fail attributes in disk_attribute_check() 2020-01-08 19:02:09 -07:00
c72372d55c
Replaced platform.system() with PLATFORM var
* Better?
2019-12-13 19:01:26 -07:00
b746cda6e7
Bugfix 2019-12-12 18:46:44 -07:00
3733da17fc
Moved get_disks() from wk/hw/diags to wk/hw/obj 2019-12-12 18:36:57 -07:00
07cb287eb0
Updated wk.net.connected_to_private_network()
* Can either return True/False or return None/raise Exception
* Added network check to mount_backup_shares()
2019-12-09 20:53:42 -07:00
23c99084b5
Drop SIGWINCH sections 2019-12-09 16:48:15 -07:00
cc85e3e8ed
Improve abort handling 2019-12-09 16:32:35 -07:00
081658550b
Added debug report sections
* HW-Diags debug reports are saved after showing results or atexit
2019-12-09 15:55:30 -07:00
82341dbbb3
Moved disk safety checks to after the test
* This way failures during the last test should be caught
2019-12-08 17:02:10 -07:00
6071470b6a
Add note to disk report for critical HW error(s) 2019-12-08 16:52:20 -07:00
376a9e92ba
Supress a couple pylint warnings 2019-12-08 16:42:34 -07:00
9dc8329dec
Updated self-test sections
* Improved abort handling
* Always include report if state.tests['Disk Self-Test'] is enabled
* Send abort command via smartctl if aborting self-test(s)
2019-12-08 16:37:37 -07:00
c09cd0c9c2
Added disk safety check before each test
* Includes possible workaround for SMART self-test TimedOut errors
2019-12-08 15:29:18 -07:00
7d66b723ca
Update test report on ERROR 2019-12-06 19:34:53 -07:00
126aaae8ba
Fix IO_RATE_REGEX under macOS 2019-12-06 19:31:32 -07:00
8f909182d3
Bugfix: typo and batch catch 2019-12-06 19:21:24 -07:00
1f74b0b989
Use "RAW" disks under macOS 2019-12-06 19:18:40 -07:00
a0b07cbfde
Added I/O Benchmark sections 2019-12-06 19:10:36 -07:00
a76d7775fd
Updated badblocks sections
* Increaded pane height to 5
* Updated pass/fail/unknown logic
* Reduced lines included in reports
2019-12-06 13:02:57 -07:00
b45dc74e5a
Start logging after updating log path 2019-12-06 13:01:31 -07:00
e1ef9db6b6
Color disk labels in badblocks panes 2019-12-05 23:02:08 -07:00
d173d317e3
Updated badblocks section
* Start tests in reverse order (so they appear in order on screen)
* Fixed report parsing
2019-12-05 22:57:13 -07:00
76772be422
Added badblocks sections
* Supports running in parallel
* Dropped NonBlockingStreamReader usage
2019-12-05 22:20:26 -07:00
da7c12bb61
Don't use dummy test objects when no disks avail 2019-12-05 14:20:17 -07:00
fb4b44fefb
Fixed temps pane under macOS 2019-12-03 18:16:33 -07:00
65c08ad972
Updated disk_self_test()
* Parallel self-tests!
2019-12-03 17:36:52 -07:00
b71bca4577
Updated disk_attribute_check() 2019-12-03 16:31:26 -07:00
445523e5f1
Fix aborting Prime95 test 2019-12-03 15:18:10 -07:00
6da34c1f2b
Only register tmux atexit when running HW Diags
* Prevents unintended killing of tmux panes when importing wk or wk.hw
2019-12-03 15:03:02 -07:00
c0b6606758
Stop Prime95 with INT signal instead of TERM 2019-12-03 14:47:57 -07:00
4dc41aec27
Bugfix: mprime typos 2019-12-02 20:31:33 -07:00
4990537082
Handle critical temps correctly in mprime sections
* Moved ThermalLimitReachedError catches to wk.hw.sensors
  * Before they would never be caught and would never stop the script
* Added cpu_reached_critical_temp() to wk.hw.sensors
  * This allows us to check if it happened without exceptions
* Added thermal_action to wk.hw.sensors
  * This is run when ThermalLimitReachedError(s) are caught
* Stop print_countdown if mprime is terminated
  * This is required since it may be killed in the background
2019-12-02 20:11:02 -07:00
c520b5a865
Update for Python 3.8 pylint alerts 2019-12-02 17:55:05 -07:00
7796189d14
Clear screen before all diag functions 2019-12-02 17:54:48 -07:00
aa3b69f6fa
Added progress pane logic 2019-11-30 22:43:10 -07:00
4cadb913e8
Dropped bufsize=1 due to Python 3.8 warning 2019-11-30 21:29:24 -07:00
79371a3fa5
Added results screen to hw-diags 2019-11-14 20:43:44 -07:00
402c4359a1
Split Prime95 and cooling Test() objects 2019-11-14 20:16:15 -07:00
fec2473b93
Fixed Prime95 test length 2019-11-14 19:16:10 -07:00
45086c90bb
Prime95 test fully functional 2019-11-14 19:13:21 -07:00
1a91f72d8c
Running and stopping Prime95 working 2019-11-13 19:45:53 -07:00
46a6dda0ff
Prime95 workflow mostly done 2019-11-13 17:47:52 -07:00
aa5b5cd9b7
Selecting and running (dummy) tests now working 2019-11-12 21:10:11 -07:00
d4ca575426
Fix get_disks_macos() 2019-11-12 20:06:18 -07:00
1054794af3
Added get_disks()
* This calls either get_disks_linux() or get_disks_macos()
2019-11-12 19:56:39 -07:00
4e6b2cd4da
Started work on per-pass log handling in hw-diags 2019-11-12 17:32:55 -07:00
dc030ab076
Added initial version of wk.hw.sensors
* Supports Linux and macOS
  * Only initial temp, no updates yet
2019-11-11 21:29:21 -07:00
72905f9ccc
Added CLI options to hw-diags 2019-11-10 21:05:41 -07:00
21dfeac20b
Expanded logging in wk.hw.diags 2019-11-10 20:22:48 -07:00
196e2adc82
Added tmux layout maintenance sections
* Support both threading and signal based calls
  * Should provide a smoother UIX under Linux & macOS
2019-11-10 19:10:35 -07:00
0cbc858cf4
Intentionally crash if not running inside tmux 2019-11-10 18:05:06 -07:00
0b6cd1cb6c
Added secret menu options in hw-diags 2019-11-10 17:42:04 -07:00
964885d63c
Ensure tmux panes are closed atexit for hw-diags 2019-11-10 17:38:03 -07:00
76a501af85
Added State() and tmux sections to wk/hw/diags 2019-11-10 17:04:45 -07:00
2520126905
Use broader imports for wk/hw/diags.py 2019-11-10 16:22:04 -07:00
fe228a5edc
Added keyboard_test() 2019-11-10 15:17:00 -07:00
100757ba69
Added network_test() 2019-11-10 14:47:56 -07:00
8f663072f6
Added HW-Diags audio test, menu, and launcher 2019-11-09 19:25:30 -07:00