Commit graph

279 commits

Author SHA1 Message Date
bc2c3a2c80
Expanded source/dest disk selection sections 2019-12-13 18:37:36 -07:00
6bfee95043
Support coloring pathlib.Path objects 2019-12-13 16:38:24 -07:00
da5f521f92
Added wk.hw.ddrescue.select_disk() 2019-12-12 19:29:32 -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
48a6b3200b
Added init_recovery()
* Set mode
* Select/verify source/dest
2019-12-12 17:22:02 -07:00
3a8c052d5a
Updated ddrescue menu sections
* Support loading presets
2019-12-12 16:43:23 -07:00
045d2b2571
Updates ddrescue-tui tmux sections 2019-12-12 16:39:42 -07:00
5445df8e62
Added settings_select() to Menu()
* Supports ddrescue-tui style toggle/change usage
2019-12-12 15:52:09 -07:00
7a880e2ee7
Added initial ddrescue sections
* Very early outline, very broken still
2019-12-10 15:56:12 -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
3262888024
Added unmount network share sections 2019-12-09 20:50:17 -07:00
77190137f6
Added mount-backup-shares wrapper 2019-12-09 20:10:57 -07:00
82827b7a0d
Avoid crash under macOS 2019-12-09 19:57:47 -07:00
0472166c09
Added share mount check logic 2019-12-09 19:42:02 -07:00
9c7914fc3d
Added mount_backup_shares & mount_network_share 2019-12-09 19:23:44 -07:00
2770f85e01
Moved server definitions to wk/cfg/net.py 2019-12-09 17:50:36 -07:00
8e5bfa12f4
Added NVMe SMART status checks
* Addresses issue #130
2019-12-09 16:48:35 -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
6bc4ce3c0b
Add Maximum value for power on hours 2019-12-09 14:29:28 -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
c7585d17f0
Added graph functions 2019-12-06 15:02:06 -07:00
2c732885c6
Revert "Adjusted wk.std.input_text()"
This reverts commit 564745f03b.
2019-12-06 13:21:36 -07:00
2a4b68c222
Fixed tail usage under macOS 2019-12-06 13:19:47 -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
564745f03b
Adjusted wk.std.input_text()
* Should hopefully reduce the duplicate prompts
2019-12-06 13:00:34 -07:00
56a99a8a4e
Avoid crash if tmux pane closes while getting size 2019-12-06 12:25:48 -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
6167d0d78d
Get disk serial numbers under macOS 2019-12-05 14:24:57 -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
d1005ad0a9
Updated sensor name formatting 2019-12-02 22:47:09 -07:00
e041125c20
Added hw-sensors 2019-12-02 21:02:12 -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
0eadb784bb
Updated get_ram_list_linux() 2019-11-13 11:14:55 -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
9b5d9e1186
Added watch-mac and reverted previous commit
* This allows the degree symbol to be displayed correctly
  * (At least in iTerm2)
2019-11-12 10:36:34 -07:00
4bd4536cfd
Avoid using the unicode degree symbol under macOS
* The (home)brew watch command butchers the unicode?
2019-11-11 23:57:48 -07:00
e3d0902c45
Updated wk.hw.sensors
* Added monitor_to_file()
* Added save_average_temps()
2019-11-11 23:22:47 -07:00
4ecdc80e4c
Added sensor update sections 2019-11-11 22:18:09 -07:00
b15c01ac37
Fixed sensor sections under macOS 2019-11-11 21:47: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
49c0ce9a62
Support layouts with multiple panes of same type 2019-11-11 17:29:58 -07:00
72905f9ccc
Added CLI options to hw-diags 2019-11-10 21:05:41 -07:00
ee7d656f2a
Delete log atexit if empty 2019-11-10 20:47:59 -07:00
21dfeac20b
Expanded logging in wk.hw.diags 2019-11-10 20:22:48 -07:00
906826d752
Updated TryAndPrint()
* Don't log function name unless in debug mode
* Log msg_good instead of UNKNOWN for non-failed functions with no output
* Avoid issue if function returns int
2019-11-10 20:21:15 -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
6963d2ae71
Fix echo usage under macOS 2019-11-10 18:01:07 -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
ce3a98028a
Fixed wk.std.show_data() alignment 2019-11-10 14:29:55 -07:00
8f663072f6
Added HW-Diags audio test, menu, and launcher 2019-11-09 19:25:30 -07:00
05d6fb762c
Added wk/tmux.py 2019-11-09 17:29:31 -07:00
177401ecc8
Small formatting adjustment 2019-11-09 17:28:43 -07:00
920f481049
Adjusted DEBUG log date format 2019-11-09 14:25:22 -07:00
205c5ed0fc
Support model-specifc attribute thresholds
* Addresses issue #142
2019-11-08 16:00:27 -07:00
3a2924bd51
Added print_report() 2019-11-08 14:08:16 -07:00
a053931c17
Added Test() object 2019-11-07 20:46:21 -07:00
b162c99d6e
Added BaseObj() class 2019-11-07 20:40:50 -07:00
12de0e5b84
Inlcude RAM vendor ID for unknown IDs 2019-11-07 18:58:20 -07:00
0e9b1af56b
Added safety check to Disk().get_details() 2019-11-07 18:57:31 -07:00