Compare commits

...

649 Commits

Author SHA1 Message Date
Michael Larabel
bf44807203 Phoronix Test Suite 9.0 Milestone 2 2019-08-22 05:26:33 -05:00
Michael Larabel
4c41808131 pts-core: Drop Chrome mode 2019-08-20 17:30:15 -05:00
Michael Larabel
172d1153c9 pts_Graph: Fixes 2019-08-20 15:53:14 -05:00
Michael Larabel
fc9988d2b7 pts_Graph: Fixes 2019-08-20 15:48:54 -05:00
Michael Larabel
44b2841cf0 pts-core: New result viewer improvements 2019-08-20 13:33:13 -05:00
Michael Larabel
36044a04ae pts-core: Result viewer improvements 2019-08-20 13:17:50 -05:00
Michael Larabel
171c52494d pts-core: Wait 10 seconds on shutdown to kill result viewer process in case last process was launching local result viewer in web browser... TODO figure out better way to handle this. 2019-08-19 12:59:36 -05:00
Michael Larabel
a96068165f pts-core: Various fixes and code cleanups 2019-08-19 09:28:46 -05:00
Michael Larabel
e76e2b8e52 phodevi: Warning fix for CPU freq detection when clock is missing from cpuinfo 2019-07-29 16:37:25 -05:00
Michael Larabel
c5fc6a2a0e Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2019-07-28 07:56:40 -05:00
Michael Larabel
4cab0aac81 phodevi: Add support for cpu.power sensor reading from Linux zenpower driver 2019-07-28 07:56:22 -05:00
Michael Larabel
bf7199d10c Merge pull request #369 from scaleoutsean/patch-1
Fix typo
2019-07-25 11:33:36 -05:00
scaleoutsean
3489a38efa Fix typo 2019-07-26 00:31:25 +08:00
Michael Larabel
8139d6997e Phoronix Test Suite 9.0 Milestone 1 prepping 2019-07-25 05:56:51 -05:00
Michael Larabel
64b1fb75f6 pts-core: Fix for create_lock on Windows 2019-07-22 06:34:52 -05:00
Michael Larabel
439d03646b phodevi: Clock reporting fix on POWER - https://github.com/phoronix-test-suite/phoronix-test-suite/issues/367 2019-07-18 09:04:41 -05:00
Michael Larabel
145cbdf9a7 load_dynamic_result_viewer: Hopefully better shutdown behavior 2019-07-18 08:07:01 -05:00
Michael Larabel
ee514d675d pts-core: Fix for viewing result viewer fallback on new result files 2019-07-18 08:04:49 -05:00
Michael Larabel
07a3b0a588 pts-core: Terminate is needed 2019-07-18 07:56:44 -05:00
Michael Larabel
728020421e Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2019-07-18 07:47:45 -05:00
Michael Larabel
febe4ee5af pts-core: Use proc_close rather than proc_terminate 2019-07-18 07:47:37 -05:00
Fatima Sheremetyeva
904c1633d4 phodevi: Much faster CPU usage reading on large core count systems 2019-07-17 19:36:48 -04:00
Michael Larabel
d0e59c28bb Phoronix Test Suite 9.0 will be Asker 2019-07-17 14:33:27 -05:00
Michael Larabel
a0d7684f7e pts-core: User-config syntax change LoadModules -> AutoLoadModules 2019-07-17 10:59:41 -05:00
Michael Larabel
c37b7772c6 pts-core: Begin using the new result viewer by default when the process is active, loaded by new load_dynamic_result_viewer module 2019-07-17 10:51:28 -05:00
Michael Larabel
4d0174c158 pts-core: Add compare-results-two-way sub-command 2019-07-17 09:19:46 -05:00
Michael Larabel
c32504de02 pts-core: Fix geometric mean on large result files 2019-07-14 06:35:04 -05:00
Michael Larabel
5dc91a9eec phodevi: More robust Arm CPU model detection improvements 2019-07-12 08:41:07 -05:00
Michael Larabel
9a9f647f96 phodevi: More robust Arm CPU model detection improvements 2019-07-12 08:40:25 -05:00
Michael Larabel
74f6689ec7 pts-core: Make more use of pts_math::arithmetic_mean helper for averaging array values 2019-07-10 16:12:43 -05:00
Michael Larabel
8261cdd3f0 pts-core: Dynamically increase run count if any results outside three-sigma limit 2019-07-10 16:00:47 -05:00
Michael Larabel
7bdf0bf111 pts-core: Add result-file-confidence sub-command 2019-07-10 13:05:44 -05:00
Michael Larabel
0ef549dbaf pts-core: Add IGNORE_RUNS per https://github.com/phoronix-test-suite/phoronix-test-suite/issues/363 2019-07-04 09:43:42 -05:00
Michael Larabel
6d3c67c5e5 pts-core: Set OMP_NUM_THREADS per https://github.com/phoronix-test-suite/phoronix-test-suite/issues/365 2019-07-04 05:57:34 -05:00
Michael Larabel
4b21f67b95 pts_Graph: Ensure resetting of paint color 2019-07-04 05:57:03 -05:00
Michael Larabel
54797c83ef pts-core: Allow radar chart to be generated perf-per-dollar and perf-per-Watt and other arbtirary selections 2019-06-21 08:22:30 -05:00
Michael Larabel
555067f28b pts-core: Allow radar chart to be generated perf-per-dollar and perf-per-Watt and other arbtirary selections 2019-06-21 07:29:42 -05:00
Michael Larabel
e8ceea689d pts-core: Check for Falkon browser support 2019-06-17 18:37:56 -05:00
Michael Larabel
b0a38161b4 pts-core: External dependency fix for OpenMandriva 2019-06-17 15:39:03 -05:00
Michael Larabel
b3b9d6a743 pts-core: External dependency fix for OpenMandriva 2019-06-17 15:37:19 -05:00
Michael Larabel
51fed6432b pts-core: Minor tweaks 2019-06-17 13:29:45 -05:00
Michael Larabel
8fe910096c pts-core: Fixes 2019-06-17 11:20:07 -05:00
Michael Larabel
1c8685f27d pts_Graph: More tweaks 2019-06-17 10:47:21 -05:00
Michael Larabel
14e14e7789 pts_Graph: Minor cleaning 2019-06-17 09:54:40 -05:00
Michael Larabel
ba5d5fe8d1 pts_Graph: Use logarithmic view for radar chart when it makes sense 2019-06-17 09:42:12 -05:00
Fatima Sheremetyeva
f00e4cfc52 Merge branch 'master' of https://github.com/phoronix-test-suite/phoronix-test-suite 2019-06-17 08:56:57 -04:00
Fatima Sheremetyeva
0ca2f5bd7b pts-core: PDF improvements 2019-06-17 08:56:23 -04:00
Michael Larabel
e8508a7f03 pts_Graph: More work on the new radar chart 2019-06-16 15:44:50 -05:00
Michael Larabel
360dbf2cfa pts_Graph: working on new radar chart 2019-06-16 14:50:42 -05:00
Michael Larabel
1348ecfc9a pts-core: More PDF report improvements 2019-06-15 19:11:43 -05:00
Michael Larabel
31242eac12 pts-core: More PDF exp[ort improvements 2019-06-15 18:44:56 -05:00
Michael Larabel
682fa05eaa pts_Graph: Tweaks 2019-06-15 18:15:38 -05:00
Michael Larabel
75d842c7ca pts-core: PDF result report improvements 2019-06-15 15:28:30 -05:00
Michael Larabel
369d1f6e81 pts-core: PDF result report improvements 2019-06-15 15:07:45 -05:00
Michael Larabel
f14b35788a pts-core: PDF result report improvements 2019-06-15 14:58:35 -05:00
Michael Larabel
63a9259828 pts-core: PDF result report improvements 2019-06-15 14:29:35 -05:00
Michael Larabel
bc96ac2fb5 pts_Graph: Drop doSkipGraph 2019-06-15 14:04:54 -05:00
Michael Larabel
f6d77f6b18 pts_Graph: Quick cleanup 2019-06-14 20:03:38 -05:00
Michael Larabel
b6df9da3ff pts_Graph: Add side-by-side 2-way comparison graph 2019-06-14 19:54:05 -05:00
Michael Larabel
12df8d22f2 pts-core: Allow MultiMatch to report min/max values 2019-06-14 16:12:25 -05:00
Michael Larabel
df6d425c3a pts-core: Improve MultiMatch in test result parser 2019-06-14 15:04:54 -05:00
Michael Larabel
944dbe18fb Merge pull request #357 from tralston/getvolume-powershell-compat
Replaced 'Get-Volume' powershell command with a more backwards-compat…
2019-06-14 08:51:55 -05:00
Michael Larabel
22e2bbe209 phodevi: Clean up a windows string for disk 2019-06-14 08:51:13 -05:00
Michael Larabel
b35de7e3e1 phodevi: Support reading sys.power via IPMI PS1_Input_Power/PS2_Input_Power 2019-06-14 06:29:38 -05:00
Michael Larabel
5d9c8bbce2 system_monitor: bump requirement for per-run monitoring 2019-06-13 19:12:39 -05:00
Taylor Ralston
2a3485b5b2 Replaced 'Get-Volume' powershell command with a more backwards-compatible command, which works for Powershell version < 4. 2019-06-13 13:23:30 -07:00
Michael Larabel
294b68a8f1 phodevi: Add initial reporting for Windows vulnerabilities via mdstool-cli 2019-06-06 13:11:07 -05:00
Michael Larabel
a6be4a9aae phodevi: Add initial reporting for Windows vulnerabilities via mdstool-cli 2019-06-06 13:06:49 -05:00
Fatima Sheremetyeva
47f5edc933 pts-core: result viewer tweaks 2019-06-04 15:13:36 -05:00
Michael Larabel
62dc428df4 pts-core: Additional sorting in new viewer 2019-06-04 14:42:30 -05:00
Michael Larabel
6064488fa3 pts-core: Yep, more result viewer work... 2019-06-02 19:27:25 -05:00
Michael Larabel
8504468b1a pts-core: More result viewer cleansing 2019-06-02 19:01:18 -05:00
Michael Larabel
3487363dbc pts-core: More new result viewer work 2019-06-02 18:31:14 -05:00
Michael Larabel
ab5b144be5 pts-core: More new result viewer work... 2019-06-02 16:49:18 -05:00
Michael Larabel
1379863497 pts-core: Add start-result-viewer plumbing 2019-06-01 19:56:58 -05:00
Michael Larabel
14d7e304c1 pts-core: Fix text graph formatting with varying result lengths 2019-05-31 18:50:10 -05:00
Michael Larabel
fc88a2156e pts-core: Add 'expat' as possible external dependency
To be used for tests like Apache https://github.com/phoronix-test-suite/test-profiles/issues/82
2019-05-31 17:06:09 -05:00
Michael Larabel
fe11245f0f pts_Graph: Further tweaking from previous commit 2019-05-31 12:38:03 -05:00
Michael Larabel
d90c06bb07 pts_Graph: Fix for displaying line graphs with very small values 2019-05-31 12:35:07 -05:00
Michael Larabel
702f86b21b phodevi: Fix for empty vulnerabilities files (or where restricted to root) 2019-05-30 16:50:34 -05:00
Michael Larabel
7a93cf85f4 Prep for 8.8.1 2019-05-30 09:54:36 -05:00
Michael Larabel
d34c200665 Prep for 8.8.1 2019-05-30 09:53:43 -05:00
Michael Larabel
37fcdec67c Prep for 8.8.1 2019-05-30 09:49:09 -05:00
Michael Larabel
09d6c560bb pts-core: Minor fixes 2019-05-25 19:28:35 -05:00
Michael Larabel
8f0475e917 phodevi: Fix Linux CPU thread detection in some scenarios where inner-cores may be offlined 2019-05-19 17:29:53 -05:00
Michael Larabel
ddaeb4939d pts-core: always sort CLI output of mean graphs 2019-05-18 08:56:53 -05:00
Michael Larabel
3a2644c245 pts-core: Add autoconf check 2019-05-16 16:07:40 -05:00
Michael Larabel
9af2e04ac7 phodevi: More robust CPU vulnerability reporting 2019-05-16 14:25:54 -05:00
Michael Larabel
e5d188e291 More prepping for 8.8.0... 2019-05-13 13:31:06 -05:00
Michael Larabel
83abcb694d More prepping for 8.8.0... 2019-05-13 13:20:06 -05:00
Michael Larabel
bc71a89644 pts_Graph: tweak 2019-05-13 06:04:32 -05:00
Michael Larabel
a3c0d10253 pts-core: Spacing fix 2019-05-12 18:36:04 -05:00
Michael Larabel
a32cdcdb82 pts-core: debug-test-download-links improvement 2019-05-12 16:57:43 -05:00
Michael Larabel
e34b9baf2b pts-core: Some final pre-8.8 prepping... 2019-05-12 13:49:37 -05:00
Michael Larabel
c888cbcb29 pts-core: Fixes/tweaks 2019-05-11 15:28:34 -05:00
Michael Larabel
d22e2c8de6 phodevi: Intel Node Manager power_meter support for sys.power sensor 2019-05-10 21:13:44 -05:00
Michael Larabel
4326e56ce9 pts_Graph: Drop useless tooltip 2019-05-10 18:22:19 -05:00
Michael Larabel
5416084bab pts_Graph: Report N on horizontal bar graphs 2019-05-10 18:20:16 -05:00
Michael Larabel
55fbc75ef1 pts-core: Fix blank message 2019-05-10 15:23:55 -05:00
Michael Larabel
190b326a6f pts-core: For list-suites, only show suites that have been updated within the past four years 2019-05-10 15:18:00 -05:00
Michael Larabel
3c73548acc pts-core: In build-suite allow not binding test profile versions 2019-05-10 14:43:12 -05:00
Michael Larabel
39e50c2a1c pts-core: In build-suite allow not binding test profile versions 2019-05-10 14:41:31 -05:00
Michael Larabel
e14522f712 pts-core: In build-suite allow not binding test profile versions 2019-05-10 14:40:56 -05:00
Michael Larabel
a485640eb5 pts-core: Add new/updated suite reporting 2019-05-10 14:22:51 -05:00
Michael Larabel
66d763e6c3 Merge pull request #346 from clbr/master
pts-core: Report on the POWER SMT setting in notes
2019-05-10 13:35:43 -05:00
Michael Larabel
00757f3691 pts-core: Tweaks 2019-05-10 10:42:16 -05:00
Michael Larabel
5ec11037ac pts-core: error fix for RHEL7 2019-05-09 12:22:16 -05:00
Michael Larabel
a324411f1a Prep for Phoronix Test Suite 8.8 Milestone 3 2019-05-09 09:28:32 -05:00
Michael Larabel
6295315af4 pts-core: Add remove-results-from-result-file sub-command 2019-05-09 09:24:46 -05:00
Michael Larabel
4c5b76b16b pts-core: Rename remove-from-result-file to remove-run-from-result-file 2019-05-09 09:06:28 -05:00
Michael Larabel
b0146409d0 pts-core: Show geo mean after harmonic means in text output 2019-05-09 08:49:51 -05:00
Michael Larabel
be43c42111 pts-core: Remove extra linebreak 2019-05-09 07:30:48 -05:00
Michael Larabel
6f80ecba98 ob_auto_compare: Brand_color warning fix 2019-05-08 19:35:14 -05:00
Michael Larabel
f44c473999 ob_auto_compare: cleanup redundant check 2019-05-08 17:18:12 -05:00
Michael Larabel
13ae15a415 ob_auto_compare: Show other results in result file on box plot 2019-05-08 17:06:43 -05:00
Michael Larabel
c313ba640b phodevi: Add support for gpu.memory-usage sensor with new AMDGPU mem_busy_percent sysfs interface 2019-05-07 08:27:43 -05:00
Michael Larabel
94adf88f9d Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2019-05-06 16:55:58 -05:00
Michael Larabel
cd9bdc0a69 phodevi: File-system detection fallback for Windows 7 2019-05-06 16:55:52 -05:00
Michael Larabel
979ee33dbd pts-core: Fixes 2019-05-06 07:20:15 -05:00
Michael Larabel
5ce85f8f19 ob_auto_compare: Show more often 2019-05-02 14:38:29 -05:00
Michael Larabel
acba362e26 pts-core: Expand when ob_auto_compare shows: 2019-05-02 14:01:44 -05:00
phoronix
7ec7d7c49e linux_perf: improvement

2019-05-02 10:43:01 -05:00
Michael Larabel
52a953ddf2 phodevi: gpu.power tweaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 2019-05-02 08:26:22 -05:00
Michael Larabel
719ccccdcf system_monitor: Add PERFORMANCE_PER_SENSOR= support for performance-per-(arbitrary sensor) rather than just supporting perf-per-Watt 2019-05-02 07:57:00 -05:00
Michael Larabel
5733e92d14 pts-core: Be smarter about component detection for oe ae db 2019-04-30 08:30:26 -05:00
Michael Larabel
5f6e166671 pts-core: Be smarter about component detection for oe ae db 2019-04-30 07:46:26 -05:00
Michael Larabel
fcb4c8f60e gpu-frames-space-delimited add 2019-04-29 18:44:47 -05:00
Michael Larabel
fa9e306cca pts-core: Set MESA_VK_WSI_PRESENT_MODE=immediate by default to work around possible 60 FPS RADV bug: 2019-04-29 18:23:04 -05:00
Michael Larabel
9fd11565ab ob_auto_compare: Add an extra line of data 2019-04-28 18:44:41 -05:00
Michael Larabel
dcca9fd441 phodevi: Multi-monitor detection improvements 2019-04-27 20:40:29 -05:00
Michael Larabel
2e976253b1 pts-core: Plural handler on OB stat reporting 2019-04-27 10:23:01 -05:00
Michael Larabel
728151d904 pts-core: Show number of test versions available on OB updates 2019-04-27 10:16:08 -05:00
Michael Larabel
b8bb4216b6 pts-core: Get rid of extra space 2019-04-27 09:50:05 -05:00
Michael Larabel
fec0320433 pts-core: Fix regression in line graph rendering from few days ago 2019-04-27 05:52:19 -05:00
Michael Larabel
effbadc08b pts-core: Fix warning in pts_arrays, happens on Windows 2019-04-26 10:32:51 -05:00
Michael Larabel
4ff2f3a94e phodevi: Expand memory temperature sensor to work for some ARM SBCs
And other junk
2019-04-25 09:53:08 -05:00
Michael Larabel
142fa30f0c pts-core: Strip out family 2019-04-20 18:54:25 -05:00
Michael Larabel
bde55c7175 pts-core: Result settings code should now be in good shape 2019-04-20 17:55:17 -05:00
Michael Larabel
a468ebe1a0 pts-core: More result_viewer_settings work 2019-04-20 15:01:00 -05:00
Michael Larabel
618d275e37 pts-core: More work on the result viewer settings 2019-04-20 14:27:39 -05:00
Michael Larabel
bb84fa78fa Work on new pts_result_viewer_settings usage 2019-04-20 11:31:15 -05:00
Michael Larabel
8b669d24fa pts-core: Introduce pts_result_viewer_settings to consolidate result viewer settings between OB, Phoromatic, local result viewer - eventually, not yet feature complete 2019-04-20 11:21:48 -05:00
Michael Larabel
b9978be5ef phodevi: Fix OpenJDK Java version detection 2019-04-18 05:49:54 -05:00
Michael Larabel
7c40175e9c pts-core: Tweaks/fixes 2019-04-17 18:43:32 -05:00
Michael Larabel
e0d51c9c02 pts-core: Tweaks/fixes 2019-04-17 18:43:00 -05:00
Michael Larabel
a81cc2dfbe pts-core: Cleanup 2019-04-17 08:53:17 -05:00
Michael Larabel
2c6a86e7a3 pts-core: FORCE_ABSOLUTE_MIN_TIMES_TO_RUN=3 for strict benchmarks 2019-04-08 17:05:44 -05:00
Michael Larabel
f8bee61ea9 pts-core: Increase rest 2019-04-08 11:55:13 -05:00
Michael Larabel
6369ac969b pts-core: Add git openbenchmarking test profiles to default list 2019-04-06 08:38:31 -05:00
Michael Larabel
696049a025 pts-core: clear up average run time calculation when using force env vars 2019-04-06 07:17:11 -05:00
Michael Larabel
78be8addd9 pts-core: Report sample count as helper when useful 2019-04-06 07:06:50 -05:00
Michael Larabel
f9f30c3109 pts-cpre: Add strict-run 2019-04-05 10:46:11 -05:00
Michael Larabel
3089150af4 pts-core: Temporarily skip 169.254 IP blocks 2019-04-05 10:27:42 -05:00
Michael Larabel
0a4f92bd8e pts-core: tweaks 2019-04-03 04:13:00 -05:00
Michael Larabel
f25e2512b5 pts-core: tweaks 2019-04-03 04:06:03 -05:00
Michael Larabel
44205786aa pts-core: Add external dynamic-result-viewer 2019-04-01 20:08:18 -05:00
Michael Larabel
1b5540ff1c pts-core: Add result buffer has_run_with_multiple_samples 2019-04-01 16:00:08 -05:00
Michael Larabel
70733f973d pts-core: WIP changes 2019-04-01 15:39:22 -05:00
Michael Larabel
362b7cb72a pts-core: Tweaks 2019-04-01 11:46:32 -05:00
Michael Larabel
f3ac598e14 pts-core: Allow marking of test profile download files as optional... extended 2019-03-31 17:17:33 -05:00
Michael Larabel
60357b1709 pts-core: Allow marking of test profile download files as optional... extended 2019-03-31 17:17:15 -05:00
Michael Larabel
1002667e62 pts-core: Allow marking of test profile download files as optional 2019-03-31 17:08:14 -05:00
Michael Larabel
43934eb876 pts-core: Max times to run tweak 2019-03-30 10:24:39 -05:00
Michael Larabel
4b1c9aea2f pts-core: tighten up strict-benchmark: 2019-03-29 15:03:27 -05:00
Michael Larabel
498d94431f pts-core: tweak for FORCE_MIN_TIMES_TO_RUN_CUTOFF 2019-03-29 02:01:58 -05:00
Michael Larabel
609725f322 ob_auto_compare: Tweak median reporting 2019-03-28 20:14:37 -05:00
Michael Larabel
287253a3b8 pts-core: Tighten up reporting here 2019-03-28 19:23:15 -05:00
Michael Larabel
5c5df2f003 pts-core: Add everything virtual suite 2019-03-28 12:20:52 -05:00
Michael Larabel
39ddc90da4 phodevi: Detect AVX-512 VNNI 2019-03-28 10:24:32 -05:00
Michael Larabel
5101bcfc93 phodevi: Detect AVX-512 VNNI 2019-03-28 10:24:10 -05:00
Michael Larabel
fed8ea9303 Phoronix Test Suite 8.8 Milestone 2 prep 2019-03-27 19:46:20 -05:00
Michael Larabel
71b840d672 pts-core: Add auto-executable test type 2019-03-26 10:02:16 -05:00
Michael Larabel
f5963ca00b pts-core: Add cpu-physical-threads / cpu-threads auto test run options 2019-03-26 09:00:25 -05:00
Michael Larabel
a5e0c6c42b pts-core: Don't run FORCE_TIMES_TO_RUN_MULTIPLE on tests taking more than 2 hours 2019-03-26 06:19:06 -05:00
Michael Larabel
6a25bb73e8 pts-core: Fix JSON output overwriting of the same test profile array etnry https://github.com/phoronix-test-suite/phoronix-test-suite/issues/251#issuecomment-476549508 2019-03-26 04:55:31 -05:00
Michael Larabel
27e3114382 Ubuntu external dependency updates 2019-03-26 04:05:55 -05:00
Lauri Kasanen
eae6e8559e pts-core: Report on the POWER SMT setting in notes
This is not the same as the reported cpu thread count from /proc/cpuinfo,
which are kind of virtual cores and don't have uniform numbering.
2019-03-23 18:44:58 +02:00
Michael Larabel
a622b0c28d system_monitor: Don't disable dynamic run count 2019-03-22 08:52:09 -05:00
Michael Larabel
4e72163953 Merge pull request #345 from clbr/master
phodevi: Check more specific ipmitool cpu sensor names first
2019-03-22 08:51:22 -05:00
Lauri Kasanen
8db7adc53b phodevi: Check more specific ipmitool cpu sensor names first
Fixes cpu.temp reporting on a POWER8 server. Otherwise the wrong
sensor was reported.
2019-03-22 15:46:57 +02:00
Michael Larabel
b40ab79032 pts-core: Typo fix for previous commit: 2019-03-20 11:51:17 -05:00
Michael Larabel
5d710789b2 pts-core: Typo fix for previous commit: 2019-03-20 11:49:35 -05:00
Michael Larabel
10820f3352 pts-core: Typo fix for previous commit: 2019-03-20 11:48:23 -05:00
Michael Larabel
f37a7043ed pts-core: Put result scale on PDF tables 2019-03-20 11:47:24 -05:00
Michael Larabel
cedaa7984f pts-core: Add strict-benchmark option for enabling various options to ensure stricter behavior about the number of times to run each benchmark 2019-03-20 08:31:31 -05:00
Michael Larabel
424beeb454 pts-core: Fix possible infinite loop 2019-03-20 08:22:55 -05:00
Michael Larabel
d19af0b22a pts-core: Typo fix for previous commit: 2019-03-20 08:07:52 -05:00
Michael Larabel
506b042faa pts-core: Add FORCE_TIMES_TO_RUN_MULTIPLE 2019-03-20 08:06:51 -05:00
Michael Larabel
60163e8b62 pts-core: On new installs set 3.00% as deviation for increasing dynamic run count rather than 3.50%
pts-core: Add FORCE_MIN_TIMES_TO_RUN_CUTOFF= environment variable to toggle cutoff for FORCE_MIN_TIMES_TO_RUN behavior
2019-03-20 07:22:29 -05:00
Michael Larabel
7c5d7d5fa2 pts-core: Only show numerical data in PDF tables 2019-03-20 05:39:17 -05:00
Michael Larabel
fc450a6bbe pts-core: Only log system_monitor results whne at least 5 samples 2019-03-20 05:28:30 -05:00
Michael Larabel
ec72223373 phodevi: CPU-therm reporting via sysfs for CPU core temp 2019-03-19 07:43:48 -05:00
Michael Larabel
463463d32b phodevi: CPU-therm reporting via sysfs for CPU core temp 2019-03-19 07:42:51 -05:00
Michael Larabel
4cf98991a8 phodevi: CPU-therm reporting via sysfs for CPU core temp 2019-03-19 07:40:49 -05:00
Michael Larabel
f06637f72f phodevi: CPU-therm reporting via sysfs for CPU core temp 2019-03-19 07:40:24 -05:00
Michael Larabel
751e7b2dc4 Prep for Phoronix Test Suite 8.8 Milestone 1 2019-03-16 19:20:39 -05:00
Michael Larabel
040431ac4a pts-core: Don't document GUI command 2019-03-16 19:06:27 -05:00
Michael Larabel
ca1e67587c phodevi: ipmitool DMCI power sensor reporting for at least some POWER servers 2019-03-16 14:11:53 -05:00
Michael Larabel
a5d60d57e8 Merge pull request #344 from clbr/power8
Add support for ipmitool data center interface power reading
2019-03-16 14:10:28 -05:00
Lauri Kasanen
1018988ad9 Add support for ipmitool data center interface power reading 2019-03-16 20:57:49 +02:00
Michael Larabel
6fd1d950b5 pts-core: String cleaning additions 2019-03-16 13:12:50 -05:00
Michael Larabel
942e66c1bc pts-core: Fix warning in parsing of XML-based results 2019-03-16 13:05:14 -05:00
Michael Larabel
b32e678b6e pts-core: Increase run count 2019-03-16 09:13:16 -05:00
Michael Larabel
f06a1fe4ff ob_auto_compare: Don't process result_file if it's not going to be used per earlier commit today 2019-03-15 19:49:47 -05:00
Michael Larabel
4903638e8d pts-core: On some tests due to handling bugs, 1 will get print as a result when clearly shouldn't be... This check seeks to clear those out and then increase the run count 2019-03-15 19:37:03 -05:00
Michael Larabel
2d169d76b3 pts-core: Minor tweaking 2019-03-15 19:22:33 -05:00
Michael Larabel
cf9f970d9f pts-core: Add result-file-raw-to-csv for dumping the raw/individual benchmark result run data 2019-03-14 16:29:30 -05:00
Michael Larabel
89f1387d20 pts-core: CSV output improvements 2019-03-14 16:09:42 -05:00
Michael Larabel
e0eb95c159 pts-core: PDF tables for results 2019-03-14 16:00:31 -05:00
Michael Larabel
ac40f89a43 phodevi: Cavium addition 2019-03-14 14:02:22 -05:00
Michael Larabel
44748932ff pts-core: Write out system notes for each system when generating PDF result output 2019-03-14 10:57:31 -05:00
Michael Larabel
570d6a2c35 pts-core: Fixes an odd scenario where on Windows after 2 runs, further runs of that test profile for current run could fail in select (random) instances 2019-03-14 07:47:45 -05:00
Michael Larabel
3e51650ba3 pts-core: Fixes 2019-03-14 06:33:32 -05:00
Michael Larabel
531444c8f1 pts-core: Minor stuff 2019-03-14 06:08:51 -05:00
Michael Larabel
46ccc94b63 Minor updates 2019-03-13 18:54:11 -05:00
Michael Larabel
35c73b6b67 Minor updates 2019-03-13 18:44:36 -05:00
Michael Larabel
42125dd145 Minor updates 2019-03-13 18:29:47 -05:00
Michael Larabel
7182af1852 update_checker: Switch caps to bold. Fixes: https://www.phoronix.com/forums/forum/phoronix/phoronix-test-suite/1086391-phoronix-test-suite-yells-at-the-user 2019-03-13 16:05:08 -05:00
Michael Larabel
568f1ee0a9 Changelog update 2019-03-13 16:04:03 -05:00
Michael Larabel
3474225df9 pts-core: Cache supports_colored_text_output 2019-03-12 10:20:12 -05:00
Michael Larabel
2611d14e47 phodevi: Fallback for Windows 8 2019-03-12 10:18:00 -05:00
Michael Larabel
99d68a8bf5 pts-core: Don't try color terminal text on older versions of Windows 2019-03-12 10:10:55 -05:00
Michael Larabel
9a610df3e1 phoronix-test-suite.bat: Work on extracting for older Windows 2019-03-12 09:58:56 -05:00
Michael Larabel
3d346cb4cc pts-core: Sometimes windows file dealing is slow 2019-03-11 18:52:13 -05:00
Michael Larabel
9b8f1d7339 phodevi: BIOS version reporting support extended to Windows 2019-03-11 17:54:14 -05:00
Michael Larabel
c1ac02180a phodevi: BIOS version reporting support extended to Windows 2019-03-11 17:42:09 -05:00
Michael Larabel
4c73f48617 pts_Graph: Some more condensing work for large graphs 2019-03-11 06:59:46 -05:00
Michael Larabel
0cf27bb30f pts-core: Minor tweaks 2019-03-11 06:42:27 -05:00
Michael Larabel
79e69cf0b3 pts-core: Adjust min value for pts_ae_data 2019-02-24 08:30:48 -06:00
Michael Larabel
22958d1c0b pts-core: Formatting tweaks 2019-02-24 05:29:05 -06:00
Michael Larabel
165ef47acd phodevi: Intel GPU reporting improvement 2019-02-21 16:50:34 -06:00
Michael Larabel
7ff93a1d66 pts-core: Prepare for Phoronix Test Suite 8.6.1 point release 2019-02-21 14:12:06 -06:00
Michael Larabel
990ba0fa9a pts-core: Don't cache pts_client::terminal_width except on Windows 2019-02-20 13:00:32 -06:00
Michael Larabel
64e206c2fc pts-core: BSD ex dep addition of nasm 2019-02-18 16:55:26 -06:00
Michael Larabel
00ddc171b4 pts-core: Minor formatting fix for results uploaded to 2019-02-17 08:47:15 -06:00
Michael Larabel
c756f3b1a0 pts-core: Silly typo 2019-02-16 08:39:50 -06:00
Michael Larabel
702fec9522 pts-core: Bold the sample count 2019-02-12 05:31:46 -06:00
Michael Larabel
b600571d84 pts-core: Revert back to older compiler mask behavior for now as otherwise pgbench test breaks 2019-02-12 04:36:42 -06:00
Michael Larabel
b3fdeda463 pts-core: This will prevent memory capacities from appearing in RAM strings on composite listings 2019-02-10 08:42:07 -06:00
Michael Larabel
e4d93b2243 pts-core: Fix for previous commit 2019-02-05 12:55:48 -06:00
Michael Larabel
fbc7dd50a0 pts-core: In the compiler mask on POWER architecture's don't allow -march to be passed to the compiler, change it to -mcpu to avoid error 2019-02-05 12:45:09 -06:00
Michael Larabel
58a1ccb636 pts-core: Just some code formatting 2019-02-05 12:35:49 -06:00
Michael Larabel
182567d450 ob_auto_compare: clear up code path for labels 2019-02-05 10:02:52 -06:00
Michael Larabel
0709212c2d update release-highlights 2019-02-04 13:49:47 -06:00
Michael Larabel
086381523a pts-cpre" Prep for Phoronix Test Suite 8.6.0 2019-02-04 13:22:38 -06:00
Michael Larabel
5fd4223f6e pts-core: A Clang addition in passing 2019-02-03 19:27:15 -06:00
Michael Larabel
bbd0cb619c pts-core: Add C_CXX_FLAGS_DEFAULT env var for later use 2019-02-03 19:25:47 -06:00
Michael Larabel
304f505f05 pts-core: Fix artificial limitation on narrow terminal width 2019-02-03 19:10:42 -06:00
Michael Larabel
78bed5da9e pts-core: Don't use ob_auto_compare OB result compare if terminal less than 60 chars wide 2019-02-03 18:16:15 -06:00
Michael Larabel
85da3d6e8d pts-core: Fix ob_auto_compare on narrower terminals... ends up working fine 2019-02-03 18:13:58 -06:00
Michael Larabel
5a32573cbb pts-core: Some more last minute tweaks 2019-02-03 17:29:01 -06:00
Michael Larabel
37107776ef pts-core: ob_auto_compare round the active result when big 2019-02-02 11:41:43 -06:00
Michael Larabel
f5b89d3cf1 pts-core: Round the composites for larger sizes 2019-02-02 10:54:07 -06:00
Michael Larabel
624adbdf89 pts-core: Round the composites for larger sizes 2019-02-02 09:26:20 -06:00
Michael Larabel
c9bbbace0e pts-core: No reason to show title on ob auto compare 2019-02-02 06:56:19 -06:00
Michael Larabel
4e02d9e939 pts-core: Don't allow whisker_end to overshoot the length, which then bumps to new line 2019-02-01 10:57:15 -06:00
Michael Larabel
4531b1a311 pts-core: Fix for /installed virtual suite not including the proprietary/commercial tests that are installed 2019-02-01 09:32:42 -06:00
Michael Larabel
4869117ea1 pts-core: warning fix and few tweaks 2019-01-31 06:42:48 -06:00
Michael Larabel
8ef44f39ba pts-core: Just some small tweaks 2019-01-30 05:57:39 -06:00
Michael Larabel
5080889641 Don't remove multipliers by default in trim_search_query 2019-01-29 15:33:22 -06:00
Michael Larabel
7a97676f26 ob_auto_compare: Allow showing more results in the embedded percentile graphs 2019-01-29 09:42:56 -06:00
Michael Larabel
ae23ae31c3 pts-core: allow system layer (virtualization) results to be in composite ob ae data but not to use that data for individual component performance due to varying VM factors 2019-01-29 08:18:29 -06:00
Michael Larabel
47aeaec6f6 pts-core: Formatting work 2019-01-28 20:14:25 -06:00
Michael Larabel
3046cf66bb pts-core: Format HTML when using dump-documentation to generate HTML docs 2019-01-27 18:16:56 -06:00
Michael Larabel
bd650ba3db pts-core: Few minor tweaks 2019-01-27 15:11:55 -06:00
Michael Larabel
ba0bba8769 Prep for Phoronix Test Suite 8.6 M3 2019-01-27 13:13:11 -06:00
Michael Larabel
f8b6b2d584 pts-core: system-sensors command show the identifiers too 2019-01-27 10:25:30 -06:00
Michael Larabel
9888299c16 pts-core: Clone on the comparison to avoid deleting original result buffer 2019-01-27 10:17:12 -06:00
Michael Larabel
91a96a32b6 ob_auto_compare: Optimization to avoid useless parsing 2019-01-27 09:43:52 -06:00
Michael Larabel
045490d5c0 pts-core: Show post run stats after result file is written to disk 2019-01-27 08:11:50 -06:00
Michael Larabel
e02a9f5eaf pts-core: Minor cleanups 2019-01-27 05:46:34 -06:00
Michael Larabel
0d37d88559 pts-core: More accurate time reporting when result files are passed to 'phoronix-test-suite estimate-run-time' 2019-01-26 20:11:52 -06:00
Michael Larabel
1fe7d73f34 pts-core: Formatting of OB sample number 2019-01-26 19:26:45 -06:00
Michael Larabel
b0d1b4ff5c pts-core: on resul-file-to-text, always show titles 2019-01-26 18:32:58 -06:00
Michael Larabel
2769754f5e pts-core: Accidentally dropped result backup code yesterday 2019-01-26 17:56:24 -06:00
Michael Larabel
79ea58730d Cleanup some text in the user agreement / notices 2019-01-26 13:33:32 -06:00
Michael Larabel
d94dfd6169 pts-core: Better handling on Windows when there are space(s) in the paths 2019-01-26 10:14:47 -06:00
Michael Larabel
0a7b4d5423 pts-core: Fixes for Windows when there is spaces in the path to the PTS directories 2019-01-26 10:09:31 -06:00
Michael Larabel
4074e5d4c4 pts-core: Minor code improvements 2019-01-25 17:29:29 -06:00
Michael Larabel
50c5f3c193 pts-core: Show OB percentile rankings at end of single result files 2019-01-25 18:19:54 -05:00
Michael Larabel
6bd3254801 __event_post_run_stats 2019-01-25 16:19:48 -06:00
Michael Larabel
3e2de2cac0 phodevi: Better reporting of NVMe drive strings on BSDs 2019-01-25 10:17:18 -06:00
Michael Larabel
dfee1b90e0 pts-core: Warning fix for code introduced recently 2019-01-25 07:27:41 -06:00
Michael Larabel
97a6b9b55d pts-core: test 2019-01-25 07:14:32 -06:00
Michael Larabel
e6586ef03d pts-core: Validate for this_percentile calc 2019-01-24 17:44:10 -06:00
Michael Larabel
2ac4c5f60f pts-core: Don't try to run tests from result file or suite that were not installed 2019-01-24 13:15:10 -06:00
Michael Larabel
f4586a373c pts-core: Make sure ob_auto_compare charts can't overshoot 2019-01-22 09:20:41 -06:00
Michael Larabel
3ff688305a pts-core: Add mem 2019-01-21 19:56:28 -06:00
Michael Larabel
48cfbac015 pts-core: Drop some debug lines from previous commit 2019-01-21 16:37:00 -05:00
Michael Larabel
1cd0bf5212 pts-core: Initial generation bits for dump-ob-to-ae-db / pts_ae_data 2019-01-21 16:35:02 -05:00
Michael Larabel
49b71a4691 pts-core: alignment fix 2019-01-21 13:27:06 -06:00
Michael Larabel
5a1fff5da5 pts-core: fix for percentile on LIB 2019-01-21 12:48:10 -06:00
Michael Larabel
ece93f0aa3 pts-core: fix for percentile on LIB 2019-01-21 12:11:07 -06:00
Michael Larabel
d5db3fdf01 pts-core: New OB auto compare functionality should largely be in good shape... 2019-01-21 11:35:50 -06:00
Michael Larabel
5952329acc TEST staging commit of new functionality... to be worked out in comming commits 2019-01-21 08:47:44 -06:00
Michael Larabel
b5981d5250 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2019-01-19 18:45:31 -06:00
Michael Larabel
b4633c3414 Prep for Phoronix Test Suite 8.6 Milestone 2 2019-01-19 18:45:17 -06:00
Michael Larabel
1c2864df81 pts-core: Cleanups on the Windows downloader 2019-01-18 19:48:04 -06:00
Michael Larabel
4eabcf3dd3 pts-core: OpenMandriva Lx 4.0 updates 2019-01-18 14:28:00 -05:00
Michael Larabel
1c2f697c1a pts-core: Formatting cleanup 2019-01-18 11:49:20 -06:00
Michael Larabel
4744ba344f pts-core: Fix alignment of result highlights 2019-01-16 09:42:05 -06:00
Michael Larabel
66a6578e9d pts-core: Fix from commit last night 2019-01-16 04:46:53 -06:00
Michael Larabel
66e0cb4bec pts-core: Highlight run identifier on geometric/harmonic mean graphs 2019-01-16 04:21:08 -06:00
Michael Larabel
e2d23b0069 pts-core: PHP 7.3 warning fix 2019-01-15 19:17:59 -06:00
Michael Larabel
ee93f50b14 pts-core: PHP 7.3 warning fix 2019-01-15 17:42:58 -06:00
Michael Larabel
7bc9916d58 pts-core: Text table improvements 2019-01-15 14:40:07 -06:00
Michael Larabel
e3c4f2a647 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2019-01-15 13:16:58 -06:00
Michael Larabel
85e633e712 phodevi: Report Windows Subsystem for Linux (WSL) to the system layer string 2019-01-15 13:16:30 -06:00
Michael Larabel
01c94ee0a0 Merge pull request #331 from liam-middlebrook/fix-loop-reporting
pts-core: Fix Loop 'Test i of n' Reporting
2019-01-14 18:22:08 -06:00
Liam Middlebrook
ee92e4ae0b pts-core: Fix Loop 'Test i of n' Reporting
This change adds a new variable loop_run_pos for tracking the current loop that the
test run manager is on. It then uses this new variable in
get_test_run_position() so that different pts display modes will be able
to accurately report how far into a run utilizing TOTAL_LOOP_COUNT the
test run manager is.
2019-01-14 14:40:47 -08:00
Michael Larabel
10a227a316 pts-core: Improved formatting of file download text user interface for downloading of dependencies on Microsoft Windows 2019-01-14 07:24:39 -06:00
Michael Larabel
d52f7cce38 pts-core: Improved formatting of file download text user interface for downloading of dependencies on Microsoft Windows 2019-01-14 07:22:54 -06:00
Michael Larabel
8444b1abee pts-core: ex dep updates 2019-01-14 07:17:07 -06:00
Michael Larabel
dcb73373da pts-core: Minor cleaning 2019-01-12 08:13:52 -06:00
Michael Larabel
061c2702a1 small tweaks 2019-01-11 08:45:50 -06:00
Michael Larabel
44dc6854b3 pts-core: Tighter python checking on Ubuntu 2019-01-09 18:52:01 -06:00
Michael Larabel
6f71005e3e pts-core: Some polishing for the commits earlier today around result analysis 2019-01-09 18:48:57 -06:00
Michael Larabel
a4e184d3e6 pts-core: More stats work on previous commit 2019-01-09 14:22:35 -06:00
Michael Larabel
6d62e7399c pts-core: Add result-file-stats sub-command to show more test result statistics
pts-core: Show geometric mean and harmonic mean data at end of benchmarking process when relevant as part of post-run stats
2019-01-09 14:04:34 -06:00
Michael Larabel
cbbbc374a1 Update note about Fedora state in documentation/stubs/ and then do the release phoronix-test-suite dump-documentation rebuild
https://github.com/phoronix-test-suite/phoronix-test-suite/pull/330
2019-01-09 04:24:02 -06:00
Michael Larabel
e2311cda3d pts-core: Wins and loss analyzer tweaks 2019-01-08 14:42:09 -06:00
Michael Larabel
9c128102cd phodevi: Cleanup some Intel Ethernet connection strings 2019-01-07 07:18:08 -06:00
Michael Larabel
bb5579125d phodevi: Cleanup some Intel Ethernet connection strings 2019-01-07 07:17:37 -06:00
Michael Larabel
2fb50776e3 pts-core: Update Mac OS X to macOS references Per https://github.com/phoronix-test-suite/phoronix-test-suite/pull/325 2019-01-07 06:52:40 -06:00
Michael Larabel
6859349ffa pts-core: Fix extra line break 2019-01-07 06:13:51 -06:00
Michael Larabel
16cb6b4f51 Phoronix Test Suite 8.6 Milestone 1 2019-01-07 04:39:20 -06:00
Michael Larabel
64eeb16aa4 Prepping for 8.6 M1 2019-01-07 04:19:38 -06:00
Michael Larabel
223b982f21 pts-core: More line graph / box plot CLI output formatting work 2019-01-06 20:14:25 -06:00
Michael Larabel
3ee52f05d1 pts-core: More line graph / box plot CLI output formatting work 2019-01-06 20:13:29 -06:00
Michael Larabel
3bf1b1eb87 pts-core: More line graph / box plot CLI output formatting work 2019-01-06 20:05:55 -06:00
Michael Larabel
b8deb67d6b phodevi: Drop wireless from network names 2019-01-06 19:14:42 -06:00
Michael Larabel
6bf5e66148 pts-core: Add pts_arrays::array_to_cleansed_item_string 2019-01-06 19:05:52 -06:00
Michael Larabel
f662ba06e3 phodevi: Improve Linux multiple network device reporting 2019-01-06 18:54:17 -06:00
Michael Larabel
461ab86712 phodevi: Improve Linux multiple network device reporting 2019-01-06 18:53:20 -06:00
Michael Larabel
8060219473 phodevi: system info display improvements for multi-part lines 2019-01-06 16:27:59 -06:00
Michael Larabel
07117dacfc Minor tweak 2019-01-05 17:59:48 -06:00
Michael Larabel
f6951e081a Minor tweak 2019-01-05 17:49:59 -06:00
Michael Larabel
973995b48e pts-core: better line graph detection, more uniform than per run 2019-01-05 17:31:26 -06:00
Michael Larabel
c40a740556 Minor tweak 2019-01-05 11:56:01 -06:00
Michael Larabel
002461378c Minor tweak 2019-01-05 11:43:40 -06:00
Michael Larabel
2a56f62e07 Minor tweak 2019-01-05 11:36:49 -06:00
Michael Larabel
4f8f117259 Minor tweak 2019-01-05 11:18:43 -06:00
Michael Larabel
a9811c3c9b Minor tweak 2019-01-05 10:53:01 -06:00
Michael Larabel
295e130871 phodevi: Drop Unknown from memory strings 2019-01-05 10:40:10 -06:00
Michael Larabel
31b9534706 pts-core: Title handling for inline graphs 2019-01-05 08:27:29 -06:00
Michael Larabel
362c39a8e4 system_monitor: Allow outputting system monitor graphs to terminal interface inline 2019-01-05 08:12:59 -06:00
Michael Larabel
82662be6b8 pts-core: More wins and losses cleaning 2019-01-04 17:52:39 -06:00
Michael Larabel
0003dbf4e3 pts-core: Allow outputting line graphs to terminal interface as basic box plot graphs 2019-01-04 16:35:49 -06:00
Michael Larabel
77f9ce6d8e pts-core: Allow outputting line graphs to terminal interface as basic box plot graphs 2019-01-04 16:31:05 -06:00
Michael Larabel
08c9933529 pts-core: Small cleanup 2019-01-04 13:54:06 -06:00
Michael Larabel
2f9d47d2c0 pts-core: Small cleanup 2019-01-04 13:49:07 -06:00
Michael Larabel
baf0f7739c pts-core: Tweaks for earlier commits 2019-01-04 11:48:31 -06:00
Michael Larabel
eb890889f5 pts-core: Tweaks for earlier commits 2019-01-04 11:44:42 -06:00
Michael Larabel
5fdb6c25d3 pts-core: Add recently-added-tests sub-command to show newly added test profiles / alternative to openbenchmarking-changes/recently-updated-tests 2019-01-04 11:22:05 -06:00
Michael Larabel
a16c5597ad pts-core: Warning fix for earlier commit 2019-01-04 09:54:16 -06:00
Michael Larabel
e6bb62d362 pts-core: Add ShowPostRunStatistics user configuration XML option to toggle whether various test statistics are printed at the end of testing 2019-01-04 09:48:54 -06:00
Michael Larabel
9cb64d8227 pts-core: Stop wordwrapping the user agreement text arbitrarily 2019-01-04 09:40:50 -06:00
Michael Larabel
204c4d2466 pts-core: Result comparison analyzer improvements 2019-01-04 09:38:48 -06:00
Michael Larabel
f75b627ced pts-core: Show wins and losses summary after testing on large result files 2019-01-04 08:53:10 -06:00
Michael Larabel
93d0d75ad7 pts-core: Restrcture winners-and-losers as wins-and-losses 2019-01-04 08:47:23 -06:00
Michael Larabel
3b90098dac pts-core: Restrcture winners-and-losers as wins-and-losses 2019-01-04 08:19:42 -06:00
Michael Larabel
46780545b0 pts-core: Drop 'gigabit connection' from strings 2019-01-03 14:45:44 -06:00
Michael Larabel
2e7773d3c5 pts-core: Fix table printing alignment 2019-01-03 11:00:46 -06:00
Michael Larabel
fcac72a562 pts-core: Fix table printing alignment 2019-01-03 10:59:29 -06:00
Michael Larabel
3eb47951c6 pts-core: Fix table printing alignment 2019-01-03 10:58:16 -06:00
Michael Larabel
cf9d258806 Small tweaks 2019-01-03 09:13:53 -06:00
Michael Larabel
866525e0ab pts-core: Add compare-results-to-baseline sub-command for comparing one result file (baseline) against a set of results for text look at relative perf 2019-01-02 09:47:02 -06:00
Michael Larabel
6c4ad0668b Prep work for compare-results-to-baseline option 2019-01-02 09:34:14 -06:00
Michael Larabel
408bc912a4 Hello 2019 2019-01-01 08:32:46 -06:00
Michael Larabel
e3c6ad0636 phodevi: LXQt desktop version reporting 2018-12-29 15:07:28 -06:00
Michael Larabel
e0df079101 pts-core: Fix for test profile (re)generation where <Value>0</Value> would be cleared on test profile XML 2018-12-27 16:49:28 -06:00
Michael Larabel
b290788913 TODO update 2018-12-26 17:57:19 -06:00
Michael Larabel
db794375c2 pts-core: Minor updates 2018-12-21 11:22:03 -06:00
Michael Larabel
022c8193ca phodevi: Windows tweaks 2018-12-18 19:54:39 -06:00
Michael Larabel
c691b19641 phodevi: Windows tweaks 2018-12-18 19:41:36 -06:00
Michael Larabel
3e4526905a phodevi: Windows tweaks 2018-12-18 19:38:38 -06:00
Michael Larabel
4d058991d1 pts-core: Windows external dependency updates 2018-12-18 17:52:08 -06:00
Michael Larabel
14ca2576d2 phodevi: better Microsoft Windows filesystem detection 2018-12-18 17:32:36 -06:00
Michael Larabel
4814c5cbc9 phodevi: Typo fix 2018-12-18 17:29:17 -06:00
Michael Larabel
d3d9afc01a Bump for PTS 8.6 Spydeberg development 2018-12-18 16:40:15 -06:00
Michael Larabel
7be38ee32b pts-core: No longer clear test profile identifiers on secondary saved results 2018-12-18 11:12:36 -05:00
Michael Larabel
2d58d8e053 Prepare for Phoronix Test Suite 8.4.1 2018-12-09 13:17:49 -06:00
Michael Larabel
57f2f985ca Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2018-12-07 11:01:06 -06:00
Michael Larabel
20e87f7738 phodevi: Another NV GPU reporting improvement 2018-12-07 11:00:58 -06:00
Michael Larabel
094e1b8abb Merge pull request #318 from loader-bsd/pkg-config
Add pkgconf to dragonfly-packages only, remove it from generic-packages
2018-12-07 09:32:09 -05:00
loader
82823ad1c9 Add pkgconf to dragonfly-packages only, remove it from generic-packages 2018-12-07 14:26:13 +00:00
Michael Larabel
8ae57801c8 Merge pull request #317 from loader-bsd/pkg-config
Add pkg-config to external test dependencies
2018-12-07 08:52:54 -05:00
Michael Larabel
90fb1ddada phodevi: Minor GPU string reporting improvement 2018-12-07 06:47:12 -06:00
loader
b80825290c Add pkg-config to external test dependencies 2018-12-07 03:19:45 +00:00
Michael Larabel
1dd29eee20 phodevi: Don't report console devices as disks on BSD 2018-12-06 08:32:23 -06:00
Michael Larabel
1c48032568 phodevi: Don't report console devices as disks on BSD 2018-12-06 08:31:57 -06:00
Michael Larabel
667ff28134 phodevi: Don't report console devices as disks on BSD 2018-12-06 08:31:17 -06:00
Michael Larabel
52dd9c7e4e phodevi: Improved multi-disk reporting for non-Linux operating systems 2018-12-06 08:29:50 -06:00
Michael Larabel
ff2f6659bc pts-core: Whoops, inverted the logic in the previous commit 2018-12-06 05:52:36 -06:00
Michael Larabel
2c07a48dad pts-core: Workaround for RHEL 7.6 PHP having buggy CURL that is causing seg faults 2018-12-06 05:50:52 -06:00
Michael Larabel
3c0a070663 phodevi: Revert 2018-12-06 05:45:08 -06:00
Michael Larabel
afa3efa604 phoronix-test-suite maintenance updates 2018-12-05 06:20:19 -06:00
Michael Larabel
7d603bff85 phoronix-test-suite maintenance updates 2018-12-05 06:19:34 -06:00
Michael Larabel
fe6991a9f9 phoronix-test-suite maintenance updates 2018-12-05 06:19:02 -06:00
Michael Larabel
ef35e7f06e phodevi: Allow using NUM_CPU_CORES to override the number of exposed CPU threads/cores to tests (alternative to PTS_NPROC / NUMBER_OF_PROCESSORS) 2018-12-04 18:47:05 -06:00
Michael Larabel
6bb8dbca7f phodevi: Cleanup cpu_core_count() 2018-12-04 18:44:54 -06:00
Michael Larabel
c7c2dec295 phodevi: Cleanup cpu_core_count() 2018-12-04 18:43:33 -06:00
Michael Larabel
d703559f39 phodevi: Fix for CPU frequency reporting when running within a VM 2018-12-04 12:03:28 -06:00
Michael Larabel
355e107382 phodevi: Improved Spectre detection on DragonFlyBSD 5.4 2018-12-04 08:25:20 -06:00
Michael Larabel
a74f7eb6e0 phodevi: Improved physical CPU core detection on DragonFlyBSD 5.4 2018-12-04 08:22:56 -06:00
Michael Larabel
3f90403975 phodevi: Improved physical CPU core detection on DragonFlyBSD 5.4 2018-12-04 08:20:51 -06:00
Michael Larabel
0a41974c80 phodevi: More robust AMDGPU GPU voltage 2018-12-04 07:35:22 -06:00
Michael Larabel
caa2329926 phodevi: More robust AMDGPU GPU voltage 2018-12-04 07:34:01 -06:00
Michael Larabel
29b94c8dd2 phodevi: Fix for previous commit 2018-12-04 07:32:02 -06:00
Michael Larabel
805885a58e phodevi: Fix for previous commit 2018-12-04 07:31:31 -06:00
Michael Larabel
fbc96a8bdf phodevi: More robust AMDGPU fan speed detection 2018-12-04 07:29:26 -06:00
Michael Larabel
d1e1dd8c03 phodevi: Updated gpu_freq sensor for AMDGPU driver 2018-12-04 07:22:47 -05:00
Michael Larabel
cb09c5e508 phodevi: Updated gpu_fanspeed sensor for AMDGPU driver 2018-12-04 07:11:08 -05:00
Michael Larabel
9490bc9721 pts-core: Fix display_text_table warning in some scenarios 2018-12-04 07:04:49 -05:00
Michael Larabel
f36f8db8ba phodevi: Updated gpu_power sensor for AMDGPU driver 2018-12-04 07:01:49 -05:00
Michael Larabel
2e24e720e4 phodevi: Updated gpu_voltage sensor for AMDGPU driver 2018-12-04 06:54:58 -05:00
Michael Larabel
793f76c6d7 phodevi: Add support for reading GPU usage sensor with AMDGPU gpu_busy_percent sysfs interface 2018-12-03 17:27:26 -06:00
Michael Larabel
4c9001a1dc phodevi: Improved Radeon AMDGPU frequency detection/reporting 2018-12-03 13:09:46 -05:00
Michael Larabel
d4152606c9 pts-core: Make Debian EC2 happy for ex dep package installs 2018-12-03 09:24:50 -06:00
Michael Larabel
ad28eadc4a Fix for previous commit 2018-12-01 13:59:47 -06:00
Michael Larabel
835f3e6868 pts-core: Fix for previous commit 2018-12-01 11:58:40 -06:00
Michael Larabel
c6e5e54088 pts-core: Fix for previous commit 2018-12-01 11:54:43 -06:00
Michael Larabel
c6c8f9261a pts-core: Add PRESET_OPTIONS_VALUES 2018-12-01 11:48:40 -06:00
Michael Larabel
9435ebd78f pts-core: Allow PRESET_OPTIONS env var to be used when in batch mode 2018-12-01 10:02:15 -06:00
Michael Larabel
1bd6e6f952 pts-core: For previous commit, first make sure sed is present on the system (it should be....) 2018-12-01 08:56:41 -06:00
Michael Larabel
e3f5ec1c0a Merge pull request #309 from herbierobinson/master
Make sure the current directory, "." isn't in PATH.
2018-12-01 09:54:59 -05:00
Michael Larabel
452d9ed04c Merge pull request #299 from loader-bsd/freebsd
Fix test option: <DefaultEntry>0</DefaultEntry>
2018-12-01 08:35:52 -05:00
Herbie Robinson
05b3fdf890 Make sure the current directory isn't in PATH. 2018-11-30 19:07:18 -05:00
Michael Larabel
a7fab960a1 Update some links to HTTPS 2018-11-26 06:52:44 -06:00
Michael Larabel
6b5e8df4e3 Update some links to HTTPS 2018-11-26 06:52:29 -06:00
Michael Larabel
f6356c4a27 Prep for Phoronix Test Suite 8.4.0 2018-11-26 06:43:14 -06:00
Michael Larabel
027f7e84bb phodevi: Another string fix 2018-11-26 06:12:32 -06:00
Michael Larabel
eaa7431823 phodevi: Remove duplicate words from strings 2018-11-24 12:09:39 -06:00
Michael Larabel
088a710bcd phodevi: x86_64 default frequency reporting tweak 2018-11-24 11:59:31 -06:00
Michael Larabel
b717fa9582 pts-core: Another info tweak 2018-11-24 05:48:59 -06:00
Michael Larabel
f456fcb084 pts-core: Drop change-log reporting from info command as during debug-self-test skews timing 2018-11-24 05:47:07 -06:00
Michael Larabel
12f3d80f39 pts-core: Via info command report large system counts on result files for easy interpretation 2018-11-22 19:09:04 -06:00
Michael Larabel
0bd0dee4d4 Prep for Phoronix Test Suite 8.4 Milestone 3 2018-11-20 06:06:00 -06:00
Michael Larabel
5df5624c2a pts-core: Fix for compacting system table in more cases of GPU driver comparisons 2018-11-17 18:38:31 -06:00
Michael Larabel
571102774c pts-core: Add RemoveInstallDirectoryOnReinstall to toggle test re-installation behavior 2018-11-17 14:57:44 -06:00
Michael Larabel
1554c1804c pts-core: Continued POWER9 support improvements 2018-11-15 16:48:58 -06:00
Michael Larabel
146fff9de6 pts-core: More TUI graph stylization work 2018-11-13 16:57:40 -06:00
Michael Larabel
2f183c8100 pts-core: Only TUI graph brand colors when more than one line to color per result 2018-11-13 16:11:00 -06:00
Michael Larabel
be85bb3466 pts-core: Fix warning introduced in earlier commit 2018-11-13 15:33:40 -06:00
Michael Larabel
ffbe0513e9 pts-core: Provide a cache for identifier_to_brand_color 2018-11-13 15:27:34 -06:00
Michael Larabel
4bf1a781b7 pts-core: Allow branded colors to work in the terminal/CLI text graphs 2018-11-13 14:23:34 -06:00
Michael Larabel
41759ab9ef phoronix-test-suite: Basic helper updates 2018-11-13 14:22:13 -06:00
Michael Larabel
02f4d29d16 pts-core: Fix possible situation of openbenchmarking-refresh not updating when IndexCacheTTL is set to 0
https://github.com/phoronix-test-suite/phoronix-test-suite/issues/306
2018-11-12 08:32:56 -06:00
Michael Larabel
d286f89f92 pts-core: Fix bool input handling on invalid input 2018-11-11 18:09:54 -06:00
Michael Larabel
cf8e834598 pts_Graph: Fix for sometimes tick marker text overlapping 2018-11-11 15:50:05 -06:00
Michael Larabel
3902d680be pts-core: Ubuntu package updates 2018-11-09 18:01:45 -06:00
Fatima Sheremetyeva
1ec7a10523 Merge branch 'master' of https://github.com/phoronix-test-suite/phoronix-test-suite 2018-11-09 16:06:54 -06:00
Fatima Sheremetyeva
8afd4eb3ce pts-core: Fix behavior of AppendToArguments sometimes double appending when running against an existing result file of that test 2018-11-09 16:06:41 -06:00
Michael Larabel
f01ba250c2 pts-core: Expose NUM_CPU_PHYSICAL_CORES 2018-11-09 11:36:08 -06:00
Michael Larabel
56ca809504 pts-core: Frame timing parser fix from earlier commit 2018-11-06 09:23:18 -06:00
Michael Larabel
8331cf461e phodevi: Improved CPU cache size detection 2018-11-05 19:12:34 -06:00
Michael Larabel
eb4e073f80 phodevi: More work on previous commit 2018-11-05 19:09:26 -06:00
Michael Larabel
1f10bf12e3 phodevi: Improved physical CPU core detection for architectures like POWER 2018-11-05 19:03:41 -06:00
Michael Larabel
568bbf124a pts-core: Drop "and subsidiaries" from strings 2018-11-05 10:03:42 -06:00
Michael Larabel
7955d58335 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2018-11-05 06:31:27 -06:00
Michael Larabel
b74049cbf4 Rebuild for 8.4 M2 2018-11-05 06:31:21 -06:00
Michael Larabel
a60d870932 Prep for 8.4 M2 2018-11-05 06:30:33 -06:00
Fatima Sheremetyeva
38f0f3eb6b CSV parsing for F1 2018 format 2018-11-05 03:33:53 -06:00
Fatima Sheremetyeva
655100774f CSGO per-frame time reporting 2018-11-03 11:11:43 -05:00
Michael Larabel
1f6c7b7fa4 phodevi: Another BSD core count fix 2018-10-29 07:01:46 -05:00
Michael Larabel
f410ada612 phodevi: Vulkan driver reporting fix 2018-10-26 14:57:08 -05:00
Michael Larabel
ba3203de8d Fix nodejs external dependency on openSUSE 2018-10-23 06:44:33 -05:00
Michael Larabel
68f34c22ff phodevi: Another fix for X server version detection 2018-10-20 15:27:09 -05:00
Michael Larabel
6c8067a20b phodevi: Fix for previous commit 2018-10-20 15:22:30 -05:00
Michael Larabel
50d8cdc3fb phodevi: Fix X Version detection 2018-10-20 15:21:24 -05:00
Michael Larabel
93325244c4 phodevi: CPU core detection fix on DragonFlyBSD depending upon topology 2018-10-16 17:19:51 -05:00
loader
257ed8b89f Fix test option: <DefaultEntry>0</DefaultEntry> 2018-10-14 02:48:30 +00:00
Michael Larabel
3ad38b6939 phodevi: Ampere eMAG CPU detection 2018-10-09 09:44:48 -05:00
Michael Larabel
f575d21074 phodevi: Typo fix for ARMv8 2018-10-09 09:43:13 -05:00
Michael Larabel
049b759f10 phodevi: Pick up 0x50 implementer for AArch64 2018-10-09 09:42:37 -05:00
Michael Larabel
c6f48b95c5 pts-core: Add dry-run test option 2018-10-08 13:20:12 -05:00
Michael Larabel
ee04d64563 pts-core: Allow passing PTS environment variables as arguments to PTS and then just have PTS set them in the environment 2018-10-08 11:34:39 -05:00
Michael Larabel
0a645235a6 Prep Phoronix Test Suite 8.4 Milestone 1 2018-10-07 15:05:34 -05:00
Michael Larabel
95e6d0d01b pts-core: Tweak italic line on non-verified tests 2018-10-07 12:21:14 -05:00
Michael Larabel
ae9b7b1621 system_monitor: Only save per-run if the run was successful 2018-10-07 11:53:33 -05:00
Michael Larabel
3b7e3c7e70 pts-core: Fix typo from previous commit 2018-10-05 09:06:35 -05:00
Michael Larabel
e54b418ef2 pts_Graph: Highlight AMD red "Athlon " 2018-10-05 07:20:17 -05:00
Michael Larabel
9bafbd7195 phodevi: Drop information reporting support for the long ago Catalyst/fglrx driver stack that hasn't been supported/maintained in many years 2018-10-04 17:28:33 -05:00
Michael Larabel
87a90709f7 pts-core: Ubuntu ex dep file check fix for numpy 2018-10-03 07:01:03 -05:00
Michael Larabel
30eb45846a pts-core: Fix for previous commit 2018-10-02 16:40:49 -05:00
Michael Larabel
2b93102268 pts-core: At run-time also report if test is deprecated/broken 2018-10-02 14:16:00 -05:00
Michael Larabel
03029d5be5 pts-core: Cleanup ubuntu install ex dep script
https://github.com/phoronix-test-suite/phoronix-test-suite/issues/293
2018-10-02 13:57:32 -05:00
Michael Larabel
19914d4577 pts-core: Add pts_client::get_path_separator() 2018-10-02 11:24:45 -05:00
Michael Larabel
78de8c6b7b pts-core: CHange ; to : for separators in DEBUG_PATH 2018-10-02 11:15:19 -05:00
Michael Larabel
e77df95389 pts-core: Add DEBUG_PATH 2018-10-02 11:14:25 -05:00
Michael Larabel
b016dd899b pts-core: Add some more possible Windows dependencies 2018-10-02 10:09:48 -05:00
Michael Larabel
79d8fcd41e pts-core: Add "node-npm" as an external dependency for Node.js + NPM 2018-10-01 12:35:00 -05:00
Michael Larabel
a5f28439e6 phodevi: Report vRAM size on GPU model string in GB when over 1GB 2018-10-01 06:26:38 -05:00
Michael Larabel
3747113313 pts-core: Fix warning in make-download-cache 2018-09-25 16:30:09 -05:00
Michael Larabel
c01a9b010e phodevi: Improved resolution exposure 2018-09-19 20:05:04 -05:00
Michael Larabel
56aa7199c3 phodevi: Check if "/root" writable as an alternative to username check, might fix some issues when running as crontab 2018-09-18 11:35:42 -05:00
Michael Larabel
0fc8b88b30 pts-core: Don't drop last digit from /dev/md in auto-disks
https://github.com/phoronix-test-suite/phoronix-test-suite/issues/292
2018-09-11 06:42:16 -05:00
Michael Larabel
5c0c048e81 Add Phoronix Test Suite 8.2 release highlights 2018-09-11 06:38:40 -05:00
Michael Larabel
9f2a7b3201 More prepping for Phoronix Test Suite 8.2.0 2018-09-11 06:32:23 -05:00
Michael Larabel
42069d2df7 pts-core: Drop Google fonts from the result viewer to speed up when without Internet 2018-09-11 05:52:21 -05:00
Michael Larabel
7454652df9 pts-core: Add numeric check 2018-09-09 14:31:33 -05:00
Michael Larabel
acc90e44f1 pts-core: Fix for previous commit 2018-09-09 12:14:44 -05:00
Michael Larabel
14a49bc295 pts-core: More adjust precision work 2018-09-09 11:52:32 -05:00
Michael Larabel
a789c44b74 pts-core: Auto-adjust precision for result graphs having all large numbers 2018-09-09 11:44:50 -05:00
Michael Larabel
0f6f2a4a57 phodevi: Add extra fallback detection for LXC in system-layer 2018-09-09 09:43:49 -05:00
Michael Larabel
edbb31e8ed pts-core: Drop systems before system to avoid possible " s" in some strings like Matrox VGA adapters 2018-09-09 09:34:06 -05:00
Michael Larabel
9766cd1993 phodevi: More robust DMI decode ignore value handling 2018-09-09 09:32:17 -05:00
Michael Larabel
87be9c54d1 pts-core: Addition for previous commit 2018-09-09 09:29:13 -05:00
Michael Larabel
4078ffd39a phodevi: Improve CPU thread count detection when running under LXC 2018-09-09 09:27:50 -05:00
Michael Larabel
6e6fbd97a5 pts-core: Cleanup some formatting on test run prompts 2018-09-09 05:49:03 -05:00
Michael Larabel
0e707d0bf3 pts-core: Show first error on problems 2018-09-08 20:25:47 -05:00
Michael Larabel
22232f9cec pts-core: Tab errors 2018-09-08 20:24:56 -05:00
Michael Larabel
e8677218bb pts-core: Install error improvement 2018-09-08 20:21:36 -05:00
Michael Larabel
943affd275 pts-core: Clean up some repetitive errors 2018-09-08 19:42:58 -05:00
Michael Larabel
cb4f09282b pts-core: Don't install tests where the current run-time checks will fail 2018-09-08 19:39:32 -05:00
Michael Larabel
d2e8ffc29a pts-core: Add RequiresInternet test profile property to indicate if the test profile needs a working Internet connection 2018-09-08 16:11:41 -05:00
Michael Larabel
2b2978b724 pts-core: Add RequiresNetwork test profile property to indicate if the test profile needs a working network connection 2018-09-08 16:07:16 -05:00
Michael Larabel
43c8759f85 pts-core: Allow TestType = Graphics and RequiresDisplay = FALSE to accomodate for CUDA/OpenCL compute headless tests... 2018-09-08 15:52:11 -05:00
Michael Larabel
3567d78b32 pts-core: Add RequiresDisplay test profile property to indicate if the test profile explicitly requires a monitor / display server to work 2018-09-08 15:47:37 -05:00
Michael Larabel
2fc399d738 phoromatic: Should fix suite editing
https://github.com/phoronix-test-suite/phoronix-test-suite/issues/260
2018-09-08 10:53:07 -05:00
Michael Larabel
2f29f6bf3f ob_auto_compare: Clear up description string 2018-09-07 14:03:07 -05:00
Michael Larabel
f2a31091d1 Phoronix Test Suite 8.2 Milestone 4 2018-09-07 09:47:19 -05:00
Michael Larabel
39c12608bc ob_auto_compare: Fix for previous commit 2018-09-07 07:30:28 -05:00
Michael Larabel
dc7e4a57a4 ob_auto_compare: Default first to trying to do an automated local result comparison 2018-09-07 07:29:50 -05:00
Michael Larabel
0e75347ad4 pts-core: Add TERMINAL_WIDTH to diagnostics variable 2018-09-07 07:10:26 -05:00
Michael Larabel
a157c287af Merge pull request #290 from spandruvada/master
phodevi: Expanded sensor coverage using Intel RAPL
2018-09-06 16:38:07 -04:00
Srinivas Pandruvada
194ffd2f2b phodevi: Expanded sensor coverage using Intel RAPL
Use Intel RAPL (Running Average Power Limit) counters to get package power
consumption. For multi package system it adds power of all packages.
2018-09-05 17:34:51 -07:00
Michael Larabel
3bd012418b phodevi: Silly typo... 2018-09-04 09:37:14 -05:00
Michael Larabel
ecab40c00c pts-core: Fix for previous commit 2018-09-04 09:36:02 -05:00
Michael Larabel
98a7c3e06f phodevi: Embedded ARM Cortex / ARM part model detection 2018-09-04 09:31:30 -05:00
Michael Larabel
c428c7fb5e pts-core: Add reinstall / re-install aliases to force-install 2018-09-03 18:42:32 -05:00
Michael Larabel
c74602eec1 phodevi: Rockchip SoC fallback detection 2018-09-03 11:07:41 -05:00
Michael Larabel
cd8a6bea93 phodevi: Avoid lxpanel warning when x server is not running 2018-08-31 08:26:24 -05:00
Michael Larabel
2c5ed3a834 phodevi: Amlogic SoC detection based on meson_cpufreq driver 2018-08-31 07:11:33 -05:00
Michael Larabel
3b55ce6ade pts-core: Fix potential validation error 2018-08-29 16:44:44 -05:00
Michael Larabel
a5b88d5f48 pts-core: Fix behavior of "Would you like to stop and install these tests now"
https://github.com/phoronix-test-suite/phoronix-test-suite/issues/287
2018-08-28 14:36:10 -05:00
Michael Larabel
37c29aa463 pts-core: Fix for previous commit 2018-08-28 10:20:59 -05:00
Michael Larabel
44b6330ce3 pts-core: Phoromatic server relay check for first part of IP address to allow for working in VMs on LAN 2018-08-28 10:19:54 -05:00
Michael Larabel
eadafced08 phodevi: RISC-V reporting fix 2018-08-24 08:18:50 -05:00
Michael Larabel
33057a6835 pts-core: Other fixed logic overlooked yesterday in result browser prompt 2018-08-23 14:30:17 -05:00
Michael Larabel
b21459a063 pts-core: Fix inverted logic from commit yesterday 2018-08-23 06:05:33 -05:00
Michael Larabel
1a2746d31e pts-core: Minor tweaks 2018-08-22 18:43:59 -05:00
Michael Larabel
516ff81122 phodevi: Don't allow graphics tests on Docker 2018-08-22 14:16:55 -05:00
Michael Larabel
d44f32920b Prep for Phoronix Test Suite 8.2 Milestone 3 2018-08-22 13:50:30 -05:00
Michael Larabel
3bba1e986c pts-core: Introduce phodevi phodevi::is_display_server_active() to clean up some logic 2018-08-22 13:30:57 -05:00
Michael Larabel
4727f39640 pts-core: Move list-all-tests off to its own file to clean up logic 2018-08-22 13:18:03 -05:00
Michael Larabel
b1866bf84e pts-core: Add list-cached-tests option 2018-08-22 13:06:02 -05:00
Michael Larabel
cd89e8c61a pts-core: Don't download tests/suites preemptively on build-suite 2018-08-22 07:32:25 -05:00
Michael Larabel
dbf2efc4c9 phodevi: Basic Docker detection 2018-08-21 15:01:36 -05:00
Michael Larabel
37597496e2 pts-core: Add PTS_DOWNLOAD_CACHING_PLATFORM_LIMIT environment variable for make-download-cache 2018-08-21 14:33:41 -05:00
Michael Larabel
e8c105cf9a pts-core: Allow lean openbenchmarking caches in make-openbenchmarking-cache (just the latest version) 2018-08-21 14:25:18 -05:00
Michael Larabel
2cb34a74e4 pts-core: Add PTS_USER_PATH_OVERRIDE environment variable to override PTS_USER_PATH on initialization 2018-08-21 13:55:29 -05:00
Michael Larabel
f713559157 pts-core: Add PTS_DOWNLOAD_CACHE_OVERRIDE environment variable option on make-download-cache 2018-08-21 13:48:44 -05:00
Michael Larabel
4abad35787 pts-core: Some shell string tweaks 2018-08-21 12:23:04 -05:00
Michael Larabel
5cedc72ba8 pts-core: Show deprecated tests too when running list-all-tests 2018-08-21 08:58:07 -05:00
Michael Larabel
d8a121dcd9 pts-core: Fix for increase run count 2018-08-18 07:16:33 -05:00
Michael Larabel
642feee050 pts-core: Clean up some of the increase_run_count_check logic 2018-08-17 12:13:55 -05:00
Michael Larabel
b0099ac69e pts-core: Add DropNoisyResults option if wishing to not save results that have too high of deviation between runs 2018-08-17 12:06:30 -05:00
Michael Larabel
a7a6f9df59 pts-core: Fix warning over Windows readline functionality on tab 2018-08-17 08:11:23 -05:00
Michael Larabel
b3195478e1 pts-core: Fix for previous commit 2018-08-16 10:40:07 -05:00
Michael Larabel
2dcb8e8b82 pts-core: Minor updates to logic for determining how many times to dynamically increase run count on high variance results 2018-08-16 10:15:03 -05:00
Michael Larabel
f40caa8ec5 pts-core: Only show 'recommended tests' in the command helper when a test profile can actually be passed as an arg 2018-08-15 18:04:57 -05:00
Michael Larabel
88ec569699 pts-core: Clear up some Windows helpers 2018-08-15 16:26:09 -05:00
Michael Larabel
e4c5ca1aeb Prep for Phoronix Test Suite 8.2 M2 2018-08-15 14:02:46 -05:00
Michael Larabel
4c03aae195 pts_Graph: Tweaks to text sizing on vertical bar graphs 2018-08-15 13:08:23 -05:00
Michael Larabel
3d0e276743 pts-core: Fix "version" being stripped from (PTE) Inversion. 2018-08-14 13:14:40 -05:00
Michael Larabel
1a9f2b7016 phodevi: Reporting of L1TF / Level 1 Terminal Fault vulnerability 2018-08-14 12:46:15 -05:00
Michael Larabel
1e37a3ef06 pts-core: Allow comparing dynamic in-line result comparisons against local results when no Internet results matching or Internet not available 2018-08-12 18:23:12 -05:00
Michael Larabel
6de34d532c pts-core: Be clearer when no search results found on search sub-command 2018-08-12 17:41:18 -05:00
Michael Larabel
a6ab934444 pts-core: Allow stress-run to be triggered from interactive mode 2018-08-12 17:36:15 -05:00
Michael Larabel
67d35e72dc pts-core: Show "popular tests" in the invalid command helper 2018-08-12 16:26:43 -05:00
Michael Larabel
ad38824cbd pts-core: Rework list-recommended-tests to make use of download count information exposed via OB index repository data rather than needing to make fresh web query 2018-08-12 15:42:34 -05:00
Michael Larabel
847cfe2822 pts-core: Tweaks to shell sensor output 2018-08-12 13:45:23 -05:00
Michael Larabel
d3b2442fc0 pts-core: When Internet is not available and running list-tests, only show tests that are available via caches unless list-all-tests is run 2018-08-12 13:36:26 -05:00
Michael Larabel
edb57ebea0 pts-core: Fix possible alignment issue with value/spacer on outputting text-based result graphs 2018-08-09 19:20:34 -04:00
Michael Larabel
db224c251f pts-core: Readline improvement 2018-08-09 16:20:13 -05:00
Michael Larabel
6feb535eff pts-core: Few result output tweaks 2018-08-07 09:41:28 -05:00
Michael Larabel
ae96d87c5e pts-core: Clear up some PHP 7.3 warnings 2018-08-06 08:18:42 -05:00
Michael Larabel
0223dd4890 pts-core: Optional support with PHP 7.3+ to also obtain network info using net_get_interfaces() 2018-08-06 07:18:05 -05:00
Michael Larabel
096b18aca9 pts-core: Fix pts_logger warning 2018-08-04 17:59:47 -05:00
Michael Larabel
26a45e0a53 pts-core: Set LANG default to "en_US.utf8" 2018-08-01 15:03:26 -05:00
Michael Larabel
90436b882a pts-core: Add some possible missing dependencies on some configurations
From https://github.com/phoronix-test-suite/phoronix-test-suite/issues/279
2018-07-29 13:52:43 -05:00
Michael Larabel
31d7ee84bd pts-core: Alert the user when the test install directory is on a file-system mounted with 'noexec'
Suggested by https://github.com/phoronix-test-suite/phoronix-test-suite/issues/283
2018-07-29 13:48:45 -05:00
Michael Larabel
f371e1e7ed pts-core: Add libevent as possible external dependency 2018-07-29 12:48:41 -05:00
Michael Larabel
e50629c231 pts-core: Bump for previous commit the core version 2018-07-29 12:38:42 -05:00
Michael Larabel
08bf9d4e57 pts-core: Add DivideResultDivisor to result parser 2018-07-29 12:36:10 -05:00
Michael Larabel
fc9157fbf5 pts-core: Ubuntu package update for libtool 2018-07-28 19:33:51 -05:00
Michael Larabel
3073e04dee Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2018-07-28 18:32:44 -05:00
Michael Larabel
e5daa542df pts-core: Minor updates 2018-07-28 18:32:35 -05:00
Michael Larabel
95fdf3527f pts-core: Better handling when no files are downloaded due to no URLs being specified, a.k.a. files need to be manually downloaded or placed in cache by user. 2018-07-28 14:21:22 -04:00
Michael Larabel
f70020785d pts-core: Fix in result parser generation 2018-07-28 13:36:09 -04:00
Michael Larabel
a235986a30 pts-core: Add readline to detected PTS functions desired 2018-07-21 10:10:35 -05:00
Michael Larabel
7124b0454a Phoronix Test Suite 8.2 M1 prep 2018-07-21 08:56:20 -05:00
Michael Larabel
24ecd03a93 pts-core: Just another readline tweak 2018-07-20 14:31:01 -05:00
Michael Larabel
6ddfbb587d system_monitor: default to 1 sec frequency 2018-07-20 13:05:04 -05:00
Michael Larabel
affdba821b pts-core: Add autocompletion support for result file identifier based on installed software/hardware 2018-07-20 08:38:56 -05:00
Michael Larabel
6ccebe9f36 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2018-07-19 12:50:11 -05:00
Michael Larabel
443ad9ab31 pgo: Enforce make serial on second build too 2018-07-19 12:49:46 -05:00
Michael Larabel
6e69b1e00c pts-core: Ignore blank unknown tests 2018-07-19 11:59:19 -05:00
Michael Larabel
808981640a pts-core: Metadata improvements 2018-07-19 11:37:35 -04:00
Michael Larabel
a15df82d88 Appdata update... 2018-07-19 11:19:30 -04:00
Michael Larabel
29ccdced61 pts-core: Fix for previous commit 2018-07-19 09:08:36 -05:00
Michael Larabel
e12923c068 pts-core: Add support for overriding environment variables exposed to test scripts 2018-07-19 08:57:54 -05:00
Michael Larabel
a70649dfc7 pgo: Couple improvements... 2018-07-19 09:42:53 -04:00
Michael Larabel
4f0db42e09 pgo: Add a PGO module to make it super simple/easy to do PGO testing with PTS 2018-07-18 20:29:02 -04:00
Michael Larabel
53067f4e7a pts-core: Use array keys for OB IDs on shell auto completion 2018-07-18 17:52:32 -05:00
Michael Larabel
0f6e12600e pts-core: Auto-completion fix for Windows 2018-07-18 17:49:50 -05:00
Michael Larabel
651da1d84d Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2018-07-18 17:05:57 -05:00
Michael Larabel
3346e597cd pts-core: More Shell improvements 2018-07-18 17:05:41 -05:00
Michael Larabel
e1c6ca4dee pts-core: Various improvements to the Shell sub-command functionality, including auto-completion support 2018-07-18 16:58:58 -05:00
Michael Larabel
c6afe38549 Merge branch 'master' of https://github.com/phoronix-test-suite/phoronix-test-suite 2018-07-18 13:49:46 -04:00
Michael Larabel
6ac2703f33 pts-core: Tweaks for landing PGO module soon 2018-07-18 13:49:22 -04:00
Michael Larabel
fe2ec09d16 pts-core: Windows external dependency updates 2018-07-18 12:33:28 -05:00
Michael Larabel
b87abf9bc4 phodevi: Another fix for prev commit 2018-07-18 07:02:42 -05:00
Michael Larabel
d655229fe4 phodevi: Adjust previous commit 2018-07-18 07:00:36 -05:00
Michael Larabel
dfb81b475d phodevi: Improve Linux multi-socket CPU detection when lscpu is not present 2018-07-18 06:58:47 -05:00
Michael Larabel
22e630d5e1 phodevi: overlayfs detection improvement 2018-07-18 06:54:43 -05:00
Michael Larabel
9f88c84d31 phodevi: Avoid lscpu warning when not present 2018-07-18 06:52:52 -05:00
Michael Larabel
6d24536e3c phodevi: Further adjust previous commit 2018-07-18 06:51:11 -05:00
Michael Larabel
7ffc816cc8 phodevi: Improve upon previous commit 2018-07-18 06:49:59 -05:00
Michael Larabel
105f47a17a phodevi: Fix for ps process detection when using busybox where command is unrecognized 2018-07-18 06:46:21 -05:00
Michael Larabel
cdd771dbb0 phoronix-test-suite: Drop some outdated php5 references in helper outputs 2018-07-18 06:43:04 -05:00
Michael Larabel
2f9e34edfb pts-core: Add initial qt5-development external dependency handling 2018-07-15 17:32:56 -05:00
Michael Larabel
7ef2be2de9 pts-core: Validation for result parser DisplayFormat 2018-07-15 13:58:39 -05:00
Michael Larabel
904e02041e pts-core: Allow specifying PASS_FAIL / DisplayFormat via result parser 2018-07-15 12:29:17 -04:00
Michael Larabel
08c24a4ad1 pts-core: Add mongodb to external dependencies 2018-07-14 19:53:17 -05:00
Michael Larabel
2f26c0a93f pts-core: Add readline-based autocompletion support for the result file save name for trying to match existing result file identifiers 2018-07-14 10:48:23 -05:00
Michael Larabel
f7884463ff pts-core: Add readline-based autocompletion support for text-based menu selection lists 2018-07-14 10:41:15 -05:00
Michael Larabel
1a6b8403ad phodevi: Improved multi CPU socket reporting on Windows
devi: Improved multi CPU socket reporting on Windows
y
2018-07-10 17:14:13 -07:00
Michael Larabel
a1adf66b72 PTS Windows: don't try cygwin php build right now since pcntl ended up being removed it appears 2018-07-06 14:39:49 -05:00
Michael Larabel
49b8f6d82b PTS Windows: see if cygwin php build available 2018-07-06 14:27:43 -05:00
Michael Larabel
5eaafaa9b1 phodevi: Fix for previous commit 2018-07-06 14:16:42 -05:00
Michael Larabel
5581622977 phodevi: Unit reporting for Windows battery 2018-07-06 14:15:16 -05:00
Michael Larabel
dc4c82a7f7 phodevi: Windows battery reporting discharge rate support 2018-07-06 14:14:15 -05:00
Michael Larabel
09bab0797d phodevi: Don't report Windows virtual network adapters 2018-07-06 13:54:07 -05:00
Michael Larabel
841082197d Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2018-07-03 12:59:56 -05:00
Michael Larabel
8d6d9ccc58 phoromatic: Drop the first network on failure check since eventually (after more attempts) it will then hit the secondary check and reboot if still having network issues further into the process 2018-07-03 12:59:14 -05:00
Michael Larabel
e091126310 Open RAKKESTAD for development 2018-07-03 12:58:37 -05:00
Michael Larabel
e4f402d161 pts-core: Kill pts_test_profile_downloads_writer 2018-07-01 16:15:01 -05:00
Michael Larabel
aa3a2535e9 pts-core: Kill pts_test_profile_writer 2018-07-01 16:04:25 -05:00
Michael Larabel
42f4393b40 pts-core: XML generation should be working correctly now from XSD 2018-07-01 15:58:03 -05:00
Michael Larabel
d17e99b093 Merge pull request #274 from FabioLolix/Arch_pacman
install-arch-packages.sh: Add --asdeps option
2018-07-01 06:49:17 -04:00
Michael Larabel
e3e49a95b8 Merge pull request #275 from FabioLolix/Arch_deps
pts-core: Arch deps, fixed zlib name, add freeimage, removed double mesa-demos
2018-07-01 06:48:49 -04:00
FabioLolix
f535953155 pts-core: Arch deps, fixed zlib name, add freeimage, removed double
common-dependencies is already added (mesa-demos + unzip)
freeimage is required by universe-x
nothing complained about zlib but name is not zlib1
2018-06-30 23:33:04 +02:00
FabioLolix
d2de17243a install-arch-packages.sh: Add --asdeps option
With this option installed packages will result as 'orphan' for an easy removal when no more needed, this option is already added in the three AUR pkgbuilds
2018-06-30 22:48:48 +02:00
Michael Larabel
9fb1641f24 pts-core: WIP on validation/XSD generation improvements 2018-06-30 11:06:38 -05:00
Michael Larabel
f660a20b46 phoromatic: Fix for previous commit 2018-06-30 09:40:31 -05:00
Michael Larabel
3affaad204 phoromatic: From rootadmin allow the rootadmin to override/reset a user account password 2018-06-30 09:34:08 -05:00
Michael Larabel
acd397cc7e pts-core: Strengthen GD check in result-file-to-pdf
https://github.com/phoronix-test-suite/phoronix-test-suite/issues/117#issuecomment-400772902
2018-06-27 13:03:04 -05:00
223 changed files with 10539 additions and 2877 deletions

View File

@@ -1,4 +1,4 @@
Copyright 2008 - 2018 by Phoronix Media.
Copyright 2008 - 2019 by Phoronix Media.
Lead Architects:

255
ChangeLog
View File

@@ -1,5 +1,260 @@
PHORONIX TEST SUITE CHANGE-LOG
Phoronix Test Suite 9.0.0 Milestone 2
22 August 2019
pts-core: New result viewer improvements
pts-core: Various fixes and code cleanups
phodevi: Add support for cpu.power sensor reading from Linux zenpower driver
Phoronix Test Suite 9.0.0 Milestone 1
25 July 2019
pts-core: Add 'expat' as possible external dependency
pts-core: Various PDF report improvements
pts-core: User-config syntax change LoadModules -> AutoLoadModules
pts-core: Also dynamically increase run count if any results outside 3-sigma limit
pts-core: Add compare-results-two-way sub-command
pts-core: Improve MultiMatch in test result parser
pts-core: Add IGNORE_RUNS environment variable
pts-core: Add result-file-confidence sub-command
pts_Graph: Add side-by-side 2-way comparison graph
pts_Graph: Fix for displaying line graphs with very small values
phodevi: Support reading sys.power via IPMI PS1_Input_Power/PS2_Input_Power
phodevi: More robust Arm CPU model detection improvements
phodevi: Much faster CPU usage reading on large core count systems
Phoronix Test Suite 8.8.1-Hvaler
30 May 2019
pts-core: Various minor tweaks/fixes
phodevi: Fix Linux CPU thread detection in some scenarios where inner-cores may be offlined
phodevi: More robust CPU vulnerability reporting
phodevi: Add initial reporting for Windows vulnerabilities via mdstool-cli
Phoronix Test Suite 8.8.0-Hvaler
13 May 2019
pts-core: Report on the POWER SMT setting in notes
pts-core: Add new/updated suite reporting
pts-core: In build-suite allow not binding test profile versions
pts-core: For list-suites, only show suites that have been updated within the past four years
pts_Graph: Report N on horizontal bar graphs
phodevi: Intel Node Manager power_meter support for sys.power sensor
Phoronix Test Suite 8.8.0 Milestone 3
9 May 2019
pts-core: Add experimental dynamic-result-viewer
pts-core: Allow marking of test profile download files as optional
pts-core: Add "everything" virtual suite
pts-core: Set MESA_VK_WSI_PRESENT_MODE=immediate by default to work around possible 60 FPS RADV bug
pts-core: Rename remove-from-result-file to remove-run-from-result-file
pts-core: Add remove-results-from-result-file sub-command
phodevi: Detect AVX-512 VNNI
phodevi: Fix OpenJDK Java version detection
phodevi: Expand memory temperature sensor to work for some ARM SBCs
phodevi: Multi-monitor detection improvements
phodevi: Add support for gpu.memory-usage sensor with new AMDGPU mem_busy_percent sysfs interface
system_monitor: Add PERFORMANCE_PER_SENSOR= support for performance-per-(arbitrary sensor) rather than just supporting perf-per-Watt
ob_auto_compare: Show other results in result file on box plot
Phoronix Test Suite 8.8.0 Milestone 2
27 March 2019
pts-core: On new installs set 3.00% as deviation for increasing dynamic run count rather than 3.50%
pts-core: Add FORCE_MIN_TIMES_TO_RUN_CUTOFF= environment variable to toggle cutoff for FORCE_MIN_TIMES_TO_RUN behavior
pts-core: Add FORCE_TIMES_TO_RUN_MULTIPLE
pts-core: Add strict-benchmark option for enabling various options to ensure stricter behavior about the number of times to run each benchmark
pts-core: Add cpu-physical-threads / cpu-threads / auto-executable auto test run options
phodevi: CPU-therm reporting via sysfs for CPU core temp
phodevi: GPU-therm reporting via sysfs for GPU core temp
Phoronix Test Suite 8.8.0 Milestone 1
16 March 2019
pts-core: Allow FORCE_TIMES_TO_RUN to override debug-run/debug-benchmark single run behavior
pts-core: Various fallbacks/workarounds for those wanting to (unofficially) use PTS on Windows 8.1
pts-core: Other small tweaks and optimizations
pts-core: Fixes an odd scenario where on Windows after 2 runs, further runs of that test profile for current run could fail in select (random) instances
pts-core: Write out system notes for each system when generating PDF result output
pts-core: CSV output improvements
pts-core: Add result-file-raw-to-csv for dumping the raw/individual benchmark result run data
pts_Graph: Condensing improvements for large graphs
pts_Graph: Various formatting improvements
phodevi: Intel GPU reporting improvements
phodevi: BIOS version reporting support extended to Windows
phodevi: ipmitool DMCI power sensor reporting for at least some POWER servers
Phoronix Test Suite 8.6.1-Spydeberg
21 February 2019
pts-core: Dynamically honoring the CLI terminal width (no longer cache the value on Linux/BSD/macOS)
pts-core: BSD external dependency updates
ob_auto_compare: Minor formatting updates
Phoronix Test Suite 8.6.0-Spydeberg
5 February 2019
pts-core: Other small tweaks and fixes
pts-core: Fix for "/installed" virtual suite not including the proprietary/commercial tests that are installed
ob_auto_compare: Allow showing more results in the embedded percentile graphs
Phoronix Test Suite 8.6.0 Milestone 3
27 January 2019
pts-core: Better handling on Windows when there are space(s) in the paths
pts-core: Add __event_post_run_stats module hook
pts-core: Inline display of result distributions from OpenBenchmarking.org on applicable results
pts-core: Don't try to run tests from result file(s) or suite(s) that were not installed
pts-core: More accurate time reporting when result files are passed to `phoronix-test-suite estimate-run-time`
phodevi: Better reporting of NVMe drive strings on BSDs
Phoronix Test Suite 8.6.0 Milestone 2
19 January 2019
pts-core: Update Mac OS X to macOS references
pts-core: Add result-file-stats sub-command to show more test result statistics
pts-core: Show geometric mean and harmonic mean data at end of benchmarking process when relevant as part of post-run stats
pts-core: Improved formatting of file download text user interface for downloading of dependencies on Microsoft Windows
pts-core: Fix Loop 'Test i of n' Reporting
pts-core: A few warning fixes for PHP 7.3+
pts-core: External dependency handling support for OpenMandriva Lx 4.0 (transitioned from urpmi to DNF)
phodevi: Report Windows Subsystem for Linux (WSL) to the system layer string
Phoronix Test Suite 8.6.0 Milestone 1
7 January 2019
pts-core: No longer clear test profile identifiers on secondary saved results
pts-core: Add compare-results-to-baseline sub-command for comparing one result file (baseline) against a set of results for text look at relative perf
pts-core: Minor fixes
pts-core: Show wins and losses summary after testing on large result files
pts-core: On two-way result files, after test completion show comparison of current result against previous result (baseline)
pts-core: Add ShowPostRunStatistics user configuration XML option to toggle whether various test statistics are printed at the end of testing
pts-core: Add recently-added-tests sub-command to show newly added test profiles / alternative to openbenchmarking-changes/recently-updated-tests
pts-core: Allow outputting line graphs to terminal interface as basic box plot graphs
phodevi: Improve Linux multiple network device reporting
phodevi: LXQt desktop version reporting
phodevi: Update for Microsoft Windows Server 2019
system_monitor: Allow outputting system monitor graphs to terminal interface inline
Phoronix Test Suite 8.4.1-Skiptvet
9 December 2018
pts-core: Workaround for RHEL 7.6 PHP having buggy CURL that is causing seg faults
pts-core: Ensure "." doesn't get set in PATH when launching phoronix-test-suite
pts-core: Allow PRESET_OPTIONS env var to be used when in batch mode
pts-core: FreeBSD updates
pts-core: Add PRESET_OPTIONS_VALUES environment variable that is similar to PRESET_OPTIONS but for explicit values
phodevi: Improved Radeon AMDGPU frequency detection/reporting
phodevi: Add support for reading GPU usage sensor with AMDGPU gpu_busy_percent sysfs interface
phodevi: Updated gpu_voltage sensor for AMDGPU driver
phodevi: Updated gpu_power sensor for AMDGPU driver
phodevi: Updated gpu_fanspeed sensor for AMDGPU driver
phodevi: Updated gpu_freq sensor for AMDGPU driver
phodevi: Improved physical CPU core detection on DragonFlyBSD 5.4
phodevi: Improved Spectre detection on DragonFlyBSD 5.4
phodevi: Allow using NUM_CPU_CORES to override the number of exposed CPU threads/cores to tests (alternative to PTS_NPROC / NUMBER_OF_PROCESSORS)
phodevi: Improved multi-disk reporting for non-Linux operating systems
phodevi: Minor GPU string reporting improvement
Phoronix Test Suite 8.4.0-Skiptvet
26 November 2018
phodevi: Various minor tweaks
Phoronix Test Suite 8.4.0 Milestone 3
20 November 2018
pts-core: Various external dependency updates
pts-core: Expose NUM_CPU_PHYSICAL_CORES to test profiles as alternative to NUM_CPU_CORES (logical count)
pts-core: Fix possible situation of openbenchmarking-refresh not updating when IndexCacheTTL is set to 0
pts-core: Allow branded colors to work in the terminal/CLI text graphs
pts-core: Continued POWER9 support improvements
pts-core: Add RemoveInstallDirectoryOnReinstall to toggle test re-installation behavior
pts_Graph: Fix for sometimes tick marker text overlapping
phodevi: Improved physical CPU core detection for architectures like POWER
phodevi: Improved CPU cache size detection
Phoronix Test Suite 8.4.0 Milestone 2
5 November 2018
pts-core: Allow passing PTS environment variables as arguments to PTS and then just have PTS set them in the environment
pts-core: Add dry-run test option
pts-core: Various result parser additions to help parsing of CSV frame-time data for more test profiles (games)
phodevi: Vulkan driver reporting fix
Phoronix Test Suite 8.4.0 Milestone 1
8 October 2018
phodevi: Report vRAM size on GPU model string in GB when over 1GB
pts-core: At run-time also report if test is deprecated/broken
pts-core: Add "node-npm" as an external dependency for Node.js + NPM
phodevi: Drop information reporting support for the long ago Catalyst/fglrx driver stack that hasn't been supported/maintained in many years
Phoronix Test Suite 8.2.0-Rakkestad
11 September 2018
pts-core: Add RequiresDisplay test profile property to indicate if the test profile explicitly requires a monitor / display server to work
pts-core: Add RequiresNetwork test profile property to indicate if the test profile needs a working network connection
pts-core: Add RequiresInternet test profile property to indicate if the test profile needs a working Internet connection
pts-core: Don't install tests where the current run-time checks will fail
phodevi: Improve CPU thread count detection when running under LXC
phodevi: More robust DMI decode ignore value handling
phodevi: Add extra fallback detection for LXC in system-layer
Phoronix Test Suite 8.2.0 Milestone 4
7 September 2018
pts-core: Fix behavior of "Would you like to stop and install these tests now"
pts-core: Add reinstall / re-install aliases to force-install
ob_auto_compare: Default first to trying to do an automated local result comparison
phodevi: Amlogic SoC detection based on meson_cpufreq driver
phodevi: Rockchip SoC fallback detection
phodevi: Embedded ARM Cortex / ARM part model detection
phodevi: Expanded sensor coverage using Intel RAPL
Phoronix Test Suite 8.2.0 Milestone 3
22 August 2018
pts-core: Minor updates to logic for determining how many times to dynamically increase run count on high variance results
pts-core: Show deprecated tests too when running list-all-tests
pts-core: Add DropNoisyResults option if wishing to not save results that have too high of deviation between runs
pts-core: Add PTS_DOWNLOAD_CACHE_OVERRIDE environment variable option on make-download-cache
pts-core: Add PTS_USER_PATH_OVERRIDE environment variable to override PTS_USER_PATH on initialization
pts-core: Add PTS_DOWNLOAD_CACHING_PLATFORM_LIMIT environment variable for make-download-cache
pts-core: Add list-cached-tests option
Phoronix Test Suite 8.2.0 Milestone 2
15 August 2018
pts-core: Add DivideResultDivisor to result parser
pts-core: Add libevent as possible external dependency
pts-core: Alert the user when the test install directory is on a file-system mounted with 'noexec'
pts-core: Optional support with PHP 7.3+ to also obtain network info using net_get_interfaces()
pts-core: Fix possible alignment issue with value/spacer on outputting text-based result graphs
pts-core: When Internet is not available and running list-tests, only show tests that are available via caches unless `list-all-tests` is run
pts-core: Rework `list-recommended-tests` to make use of download count information exposed via OB index repository data rather than needing to make fresh web query
pts-core: Show "popular tests" in the invalid command helper
pts-core: Allow stress-run to be triggered from interactive mode
pts-core: Allow comparing dynamic in-line result comparisons against local results when no Internet results matching or Internet not available
phodevi: Reporting of L1TF / Level 1 Terminal Fault vulnerability
pts_Graph: Tweaks to text sizing on vertical bar graphs
Phoronix Test Suite 8.2.0 Milestone 1
21 July 2018
pts-core: Add readline-based autocompletion support for text-based menu selection lists
pts-core: Add readline-based autocompletion support for the result file save name for trying to match existing result file identifiers
pts-core: Add autocompletion support for result file identifier based on installed software/hardware
pts-core: Various Alpine Linux external dependency updates
pts-core: Various improvements to the Shell sub-command functionality, including auto-completion support
phoromatic: From rootadmin allow the rootadmin to override/reset a user account password
phodevi: Windows battery reporting discharge rate support
phodevi: Improved multi CPU socket reporting on Windows
phodevi: Various hardware/software detection improvements when running within Docker/containers
pgo: New module to provide for automated compiler PGO (Profile Guided Optimizations) testing on GCC/Clang
Phoronix Test Suite 8.0.1-Aremark
26 June 2018

View File

@@ -1,13 +1,13 @@
# Phoronix Test Suite 8.0.1
http://www.phoronix-test-suite.com/
# Phoronix Test Suite 9.0.0m2
https://www.phoronix-test-suite.com/
The **Phoronix Test Suite** is the most comprehensive testing and benchmarking
platform available for Linux, Solaris, OS X, and BSD operating systems. The
Phoronix Test Suite allows for carrying out tests in a fully automated manner
from test installation to execution and reporting. All tests are meant to be
easily reproducible, easy-to-use, and support fully automated execution. The
Phoronix Test Suite is open-source under the GNU GPLv3 license and is developed
by Phoronix Media in cooperation with partners.
platform available for Linux, Solaris, macOS, Windows, and BSD operating
systems. The Phoronix Test Suite allows for carrying out tests in a fully
automated manner from test installation to execution and reporting. All tests
are meant to be easily reproducible, easy-to-use, and support fully automated
execution. The Phoronix Test Suite is open-source under the GNU GPLv3 license
and is developed by Phoronix Media in cooperation with partners.
The Phoronix Test Suite itself is an open-source framework for conducting
automated tests along with reporting of test results, detection of installed
@@ -30,10 +30,10 @@ seamless collection of test profiles and/or additional test suites. A test
profile consists of a set of Bash/shell scripts and XML files while a test suite
is a single XML file.
[OpenBenchmarking.org](http://www.openbenchmarking.org/) also allows for
[OpenBenchmarking.org](https://www.openbenchmarking.org/) also allows for
conducting side-by-side result comparisons, a central location for storing and
sharing test results, and collaborating over test data.
[Phoromatic](http://www.phoromatic.com/) is a complementary platform to
[Phoromatic](https://www.phoromatic.com/) is a complementary platform to
OpenBenchmarking.org and the Phoronix Test Suite for interfacing with Phoronix
Test Suite client(s) to automatically execute test runs on a timed, per-commit,
or other trigger-driven basis. Phoromatic is designed for enterprise and allows
@@ -42,7 +42,7 @@ Suite clients via a single web-based interface.
Professional support and custom engineering for the Phoronix Test Suite,
Phoromatic, and OpenBenchmarking.org is available by contacting
<http://www.phoronix-test-suite.com/>.
<https://www.phoronix-test-suite.com/>.
Full details on the Phoronix Test Suite setup and usage is available from the
included HTML/PDF documentation within the phoronix-test-suite package and from
@@ -50,11 +50,11 @@ the Phoronix Test Suite website.
## Installation & Setup
The Phoronix Test Suite is supported on Linux, *BSD, Solaris, Mac OS X, and
Windows systems. However, the most full-featured and well supported operating
system for conducting the tests is Linux with some non-basic functionality not
being available under all platforms. The Phoronix Test Suite software/framework
is compatible with all major CPU architectures (e.g. i686, x86_64, ARM,
The Phoronix Test Suite is supported on Linux, *BSD, Solaris, macOS, and Windows
systems. However, the most full-featured and well supported operating system for
conducting the tests is Linux with some non-basic functionality not being
available under all platforms. The Phoronix Test Suite software/framework is
compatible with all major CPU architectures (e.g. i686, x86_64, ARM, RISC-V,
PowerPC), but not all of the test profiles/suites are compatible with all
architectures.
@@ -63,7 +63,8 @@ without installation from the extracted tar.gz/zip package. The only hard
dependency on the Phoronix Test Suite is having command-line support for PHP
(PHP 5.3+) installed. A complete PHP stack (e.g. with web server) is **not**
needed, but merely the PHP command-line support, which is widely available from
operating system package managers under the name `php`, `php5-cli`, or `php5`.
operating system package managers under the name `php`, `php7-cli`, `php5-cli`,
or `php7`.
## Usage
@@ -81,11 +82,11 @@ Viewing installed system hardware and software is available via
Facilitating a result comparison from OpenBenchmarking.org can be done by
running, for example, `phoronix-test-suite benchmark 1204293-BY-PHORONIX357` if
wishing to compare the results of the
`http://openbenchmarking.org/result/1204293-BY-PHORONIX357` result file.
`https://openbenchmarking.org/result/1204293-BY-PHORONIX357` result file.
Additional information is available from the Phoronix Test Suite website
<http://www.phoronix-test-suite.com/> and the material bundled within the
<https://www.phoronix-test-suite.com/> and the material bundled within the
`phoronix-test-suite/documentation/` directory or via
<http://www.phoronix-test-suite.com/documentation/>. A man page is also bundled
<https://www.phoronix-test-suite.com/documentation/>. A man page is also bundled
with the phoronix-test-suite software.

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2016, Phoronix Media
Copyright (C) 2008 - 2016, Michael Larabel
Copyright (C) 2008 - 2018, Phoronix Media
Copyright (C) 2008 - 2018, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by

View File

@@ -25,40 +25,6 @@ PHORONIX TEST SUITE PUBLIC TODO LIST:
- Shorten long change-logs on test profile pages - e.g. http://openbenchmarking.org/test/pts/hpcc
### POSSIBLE NEW TEST PROFILES ###
- Hadoop Benchmarks / TeraSort
- LATT Latency Tests [git://git.kernel.dk/latt.git]
- QMC Beaver [http://qmcbeaver.sourceforge.net/]
- Some potential interesting GPGPU tests [http://www.bealto.com/gpu-benchmarks.html]
- WebGL / Chrome Test [http://phoronix.com/forums/showthread.php?73167-Some-Benchmarks-to-add-to-PTS-WebGL-and-Google-Chrome]
- GtkPerf improvements [http://phoronix.com/forums/showthread.php?73047-gtkperf-I-m-maintaining-feature-requests-new-tests]
- SIPP [http://sipp.sourceforge.net/]
- oclGaussCrack [https://hashcat.net/oclGaussCrack/]
- http://hashcat.net/oclhashcat/
- Handbrake [http://handbrake.fr/]
- libMicro [https://github.com/portante/libMicro]
- http://markjstock.org/pages/rad_bench.html
- https://code.google.com/p/pyrit/
- https://github.com/acangiano/ruby-benchmark-suite
- http://www.nwchem-sw.org/index.php/Compiling_NWChem
- http://sourceforge.net/projects/ffsb/
- http://www.ratgpu.com/
- http://panthema.net/2013/pmbw/
- http://parsec.cs.princeton.edu/parsec3-doc.htm
- http://www.capsl.udel.edu/splash/Download.html
- stephentu/silo
- https://code.google.com/p/smhasher/wiki/SMHasher
- http://benchmarksgame.alioth.debian.org/u32/performance.php?test=fasta / http://benchmarksgame.alioth.debian.org/u32/program.php?test=nbody&lang=gcc&id=1#sourcecode
- https://openfoamwiki.net/index.php/Benchmarks_standard_v1
- Cassandra 1.2 stress - http://docs.datastax.com/en/cassandra/1.2/cassandra/tools/toolsCStress_t.html
- http://gcc.opensuse.org/c++bench-frescobaldi/
- https://gooseberry.blender.org/gooseberry-production-benchmark-file/
- https://github.com/gormanm/mmtests
- https://github.com/soumith/convnet-benchmarks
- http://apt.cs.manchester.ac.uk/projects/PAMELA/tools/SLAMBench/
- https://haasn.xyz/posts/2017-10-05-how-to-benchmark-mpvs-raw-throughput.html
### WEB SOCKET / HTML5 USER INTERFACE WORK ###
- Implement WebSocket security - add the password prompts from ~/.phoronix-test-suite/user-config.xml, etc
@@ -72,4 +38,4 @@ PHORONIX TEST SUITE PUBLIC TODO LIST:
- Implement the complementary WebSocket communication to HTTP pulls
- Ensure sane validating of more user input / resource uploads
- Hook up TriggerTarget for allowing event.php to optionally specify a sub-set of systems/groups to target for a given trigger
- Clean up the code and modularize more of the code into functions
- Clean up the code and modularize more of the code

View File

@@ -1,4 +1,4 @@
.TH phoronix-test-suite 1 "www.phoronix-test-suite.com" "8.0.1"
.TH phoronix-test-suite 1 "www.phoronix-test-suite.com" "9.0.0m2"
.SH NAME
phoronix-test-suite \- The Phoronix Test Suite is an extensible open-source platform for performing testing and performance evaluation.
.SH SYNOPSIS
@@ -6,12 +6,31 @@ phoronix-test-suite \- The Phoronix Test Suite is an extensible open-source plat
.br
.B phoronix-test-suite benchmark [test | suite]
.SH DESCRIPTION
The **Phoronix Test Suite** is the most comprehensive testing and benchmarking platform available for Linux, Solaris, OS X, and BSD operating systems. The Phoronix Test Suite allows for carrying out tests in a fully automated manner from test installation to execution and reporting. All tests are meant to be easily reproducible, easy-to-use, and support fully automated execution. The Phoronix Test Suite is open-source under the GNU GPLv3 license and is developed by Phoronix Media in cooperation with partners.
The **Phoronix Test Suite** is the most comprehensive testing and benchmarking platform available for Linux, Solaris, macOS, Windows, and BSD operating systems. The Phoronix Test Suite allows for carrying out tests in a fully automated manner from test installation to execution and reporting. All tests are meant to be easily reproducible, easy-to-use, and support fully automated execution. The Phoronix Test Suite is open-source under the GNU GPLv3 license and is developed by Phoronix Media in cooperation with partners.
.SH OPTIONS
.TP
.SH SYSTEM
.B diagnostics
This option will print information that is useful to developers when debugging problems with the Phoronix Test Suite and/or test profiles and test suites.
.TP
.B interactive
A simple text-driven interactive interface to the Phoronix Test Suite.
.TP
.B php-conf
This option will print information that is useful to developers when debugging problems with the Phoronix Test Suite and/or test profiles and test suites.
.TP
.B shell
A simple text-driven shell interface / helper to the Phoronix Test Suite. Ideal for those that may be new to the Phoronix Test Suite
.TP
.B system-info
Display the installed system hardware and software information as detected by the Phoronix Test Suite Phodevi Library.
.TP
.B system-sensors
Display the installed system hardware and software sensors in real-time as detected by the Phoronix Test Suite Phodevi Library.
.TP
.SH TEST INSTALLATION
.B force-install [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option will force the installation (or re-installation) of a test or suite. The arguments and process is similar to the install option but even if the test is installed, the entire installation process will automatically be executed. This option is generally used when debugging a test installation problem.
This option will force the installation (or re-installation) of a test or suite. The arguments and process is similar to the install option but even if the test is installed, the entire installation process will automatically be executed. This option is generally used when debugging a test installation problem or wishing to re-install test(s) due to compiler or other environmental changes.
.TP
.B install [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option will install the selected test(s) inside the testing environment directory. The install process from downloading of the test files to the installation is fully automated. The install option needs to be supplied with the test name or suite as an argument. Optionally, a OpenBenchmarking.org ID or the name of a saved results file can be supplied as well and the test(s) to install will automatically be extracted from that information. If the test is already installed and was run by the latest version of the installation process, no action will be taken. Multiple arguments can be supplied to install additional tests at the same time.
@@ -50,6 +69,12 @@ This option can be used if you wish to run all of the tests found in a supplied
.B stress-run [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option will run the passed tests/suites in the multi-process stress-testing mode. The stress-run mode will not produce a result file but is rather intended for running multiple test profiles concurrently to stress / burn-in the system. The number of tests to run concurrently can be toggled via the PTS_CONCURRENT_TEST_RUNS environment variable and by default is set to a value of 2.
.TP
.B strict-benchmark [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option is equivalent to the `benchmark` option except it enables various options to run benchmarks an extended number of times for ensuring better statistical accuracy if enforcing strict controls over the data quality, in some cases running the benchmarks for 20+ times.
.TP
.B strict-run [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option is equivalent to the `run` option except it enables various options to run benchmarks an extended number of times for ensuring better statistical accuracy if enforcing strict controls over the data quality, in some cases running the benchmarks for 20+ times.
.TP
.SH BATCH TESTING
.B batch-benchmark [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option and its arguments are equivalent to the benchmark option, but the process will be run in the Phoronix Test Suite batch mode.
@@ -69,6 +94,9 @@ This option will install the selected test(s) (if needed) and will proceed to ru
.B default-run [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option will run the selected test(s). The name of the test or suite must be supplied or the OpenBenchmarking.org ID or saved local file name. Multiple arguments can be supplied to run additional tests at the same time and save the results in a suite-like fashion. Unlike the normal run option, the default-run will not prompt the user to select from the available test options but will instead use the default options as automatically set by pts-core or the test profile. Use batch-run to automatically test all of the available options.
.TP
.B dry-run [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option and its arguments pre-set the Phoronix Test Suite batch run mode with enforcing of defaults to not save any results and other behavior intended for a dry/test run. This option is primarily intended for testing/evaluation purposes.
.TP
.B internal-run [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option and its arguments pre-set the Phoronix Test Suite batch run mode with sane values for carrying out benchmarks in a semi-automated manner and without uploading any of the result data to the public OpenBenchmarking.org.
.TP
@@ -97,6 +125,9 @@ This option will list the OpenBenchmarking.org repositories currently linked to
.B openbenchmarking-uploads
This option will list any recent test result uploads from the system's IP address to OpenBenchmarking.org.
.TP
.B recently-added-tests
This option will list the most recently added (newest) test profiles.
.TP
.B upload-result [Test Result]
This option is used for uploading a test result to OpenBenchmarking.org.
.TP
@@ -106,38 +137,25 @@ This option can be used for uploading a test profile to your account on OpenBenc
.B upload-test-suite
This option can be used for uploading a test suite to your account on OpenBenchmarking.org. By uploading your test suite to OpenBenchmarking.org, others are then able to browse and access this test suite for easy distribution.
.TP
.SH SYSTEM
.B diagnostics
This option will print information that is useful to developers when debugging problems with the Phoronix Test Suite and/or test profiles and test suites.
.TP
.B interactive
A simple text-driven interactive interface to the Phoronix Test Suite.
.TP
.B php-conf
This option will print information that is useful to developers when debugging problems with the Phoronix Test Suite and/or test profiles and test suites.
.TP
.B shell
A simple text-driven shell interface / helper to the Phoronix Test Suite. Ideal for those that may be new to the Phoronix Test Suite
.TP
.B system-info
Display the installed system hardware and software information as detected by the Phoronix Test Suite Phodevi Library.
.TP
.B system-sensors
Display the installed system hardware and software sensors in real-time as detected by the Phoronix Test Suite Phodevi Library.
.TP
.SH INFORMATION
.B info [Test | Suite | OpenBenchmarking ID | Test Result]
This option will show details about the supplied test, suite, virtual suite, or result file.
.TP
.B list-all-tests
This option will list all test profiles that are available from the enabled OpenBenchmarking.org repositories. Unlike the other test listing options, list-all-tests will show deprecated tests, potentially broken tests, or other tests not recommended for all environments. The only check in place is ensuring the test profiles are at least compatible with the operating system in use.
.TP
.B list-available-suites
This option will list all test suites that are available from the enabled OpenBenchmarking.org repositories.
.TP
.B list-available-tests
This option will list all test profiles that are available from the enabled OpenBenchmarking.org repositories where supported on the system and are of a verified state.
This option will list all test profiles that are available from the enabled OpenBenchmarking.org repositories where supported on the system and are of a verified state. If the system has no Internet access, it will only list the test profiles where the necesary test assets are available locally on the system or on an available network cache (the same behavior as using the list-cached-tests sub-command), unless using the list-all-tests option to override this behavior.
.TP
.B list-available-virtual-suites
This option will list all available virtual test suites that can be dynamically created based upon the available tests from enabled OpenBenchmarking.org repositories.
.TP
.B list-cached-tests
This option will list all test profiles where any needed test profiles are already cached or available from the local system under test. This is primarily useful if testing offline/behind-the-firewall and other use-cases where wanting to rely only upon local data.
.TP
.B list-installed-dependencies
This option will list all of the packages / external test dependencies that are already installed on the system that the Phoronix Test Suite may potentially depend upon by test profiles.
.TP
@@ -212,6 +230,12 @@ This option will generate a candlestick graph showing the distribution of result
.B auto-sort-result-file [Test Result]
This option is used if you wish to automatically attempt to sort the results by their result identifier string.
.TP
.B compare-results-to-baseline [Test Result] [Test Result]
This option will allows you to specify a result as a baseline (first parameter) and a second result file (second parameter) that will offer some analysis for showing how the second result compares to the first in matching tests.
.TP
.B compare-results-two-way [Test Result]
This option will allows you to specify a result file and from there to compare two individual runs within that result file for looking at wins/losses and other metrics in a head-to-head type comparison.
.TP
.B edit-result-file [Test Result]
This option is used if you wish to edit the title and description of an existing result file.
.TP
@@ -224,12 +248,15 @@ This option will manually merge multiple sets of test results generated by the P
.B refresh-graphs [Test Result]
This option will re-render and save all result graphs within a saved file. This option can be used when making modifications to the graphing code or its color/option configuration file and testing the changes.
.TP
.B remove-from-result-file [Test Result]
This option is used if there is a set of test results you wish to remove/delete from a saved results file. The user must specify a saved results file and then they will be prompted to select the results identifier associated with the results they wish to remove.
.TP
.B remove-result [Test Result]
This option will permanently remove the saved file set that is set as the first argument.
.TP
.B remove-results-from-result-file [Test Result]
This option is used if there are test results (benchmarks) to be dropped from a given result file. The user must specify a saved results file and then they will be prompted to select the tests/benchmarks to remove.
.TP
.B remove-run-from-result-file [Test Result]
This option is used if there is a set of test results you wish to remove/delete from a saved results file. The user must specify a saved results file and then they will be prompted to select the results identifier associated with the results they wish to remove.
.TP
.B rename-identifier-in-result-file [Test Result]
This option is used if you wish to change the name of the identifier in a test results file that is shown in the Phoronix Test Suite Results Viewer and the contained graphs.
.TP
@@ -239,6 +266,15 @@ This option is used if you wish to change the name of the saved name of a result
.B reorder-result-file [Test Result]
This option is used if you wish to manually change the order in which test results are shown in the Phoronix Test Suite Results Viewer and the contained graphs. The user must specify a saved results file and then they will be prompted to select the results identifiers one at a time in the order they would like them to be displayed from left to right.
.TP
.B result-file-confidence [Test Result]
This option will read a saved test results file and display various statistics on the confidence of the results with the standard deviation, three-sigma values, and other metrics while color-coding "passing" results in green.
.TP
.B result-file-raw-to-csv [Test Result]
This option will read a saved test results file and output the raw result file run data to a CSV file. This raw (individual) result file output is intended for data analytic purposes where the result-file-to-csv is more end-user-ready.
.TP
.B result-file-stats [Test Result]
This option is used if you wish to analyze a result file by seeing various statistics on the result data for result files containing at least two sets of data.
.TP
.B result-file-to-csv [Test Result]
This option will read a saved test results file and output the system hardware and software information along with the results to a CSV output. The CSV (Comma Separated Values) output can then be loaded into a spreadsheet for easy viewing.
.TP
@@ -254,7 +290,7 @@ This option will read a saved test results file and output the system hardware a
.B show-result [Test Result]
Open up the test results in the Phoronix Test Suite Result Viewer or on OpenBenchmarking.org.
.TP
.B winners-and-losers [Test Result]
.B wins-and-losses [Test Result]
This option is used if you wish to analyze a result file to see which runs produced the most wins/losses of those result identifiers in the saved file.
.TP
.SH OTHER
@@ -278,7 +314,7 @@ This option will display the Phoronix Test Suite client version.
.TP
.SH MODULES
.B auto-load-module
This option can be used for easily adding a module to the LoadModules list in the Phoronix Test Suite user configuration file. That list controls what PTS modules are automatically loaded on start-up of the Phoronix Test Suite.
This option can be used for easily adding a module to the AutoLoadModules list in the Phoronix Test Suite user configuration file. That list controls what PTS modules are automatically loaded on start-up of the Phoronix Test Suite.
.TP
.B list-modules
This option will list all of the available Phoronix Test Suite modules on this system.
@@ -293,7 +329,7 @@ This option will allow you to configure all available end-user options for a Pho
This option can be used for debugging a Phoronix Test Suite module.
.TP
.B unload-module
This option can be used for easily removing a module from the LoadModules list in the Phoronix Test Suite user configuration file. That list controls what modules are automatically loaded on start-up of the Phoronix Test Suite.
This option can be used for easily removing a module from the AutoLoadModules list in the Phoronix Test Suite user configuration file. That list controls what modules are automatically loaded on start-up of the Phoronix Test Suite.
.TP
.SH USER CONFIGURATION
.B enterprise-setup
@@ -311,26 +347,26 @@ This option can be used for resetting the Phoronix Test Suite user configuration
.B user-config-set
This option can be used for setting an XML value in the Phoronix Test Suite user configuration file.
.TP
.SH WEB / GUI SUPPORT
.B gui
Launch the Phoronix Test Suite HTML5 web user-interface in the local GUI mode (no remote web support) and attempt to auto-launch the web-browser. THIS FEATURE IS CURRENTLY EXPERIMENTAL AND NO LONGER ACTIVE DEVELOPMENT. See Phoronix Test Suite Phoromatic as an alternative web UI approach.
.TP
.SH PHOROMATIC
.B start-phoromatic-server
Start the Phoromatic web server for controlling local Phoronix Test Suite client systems to facilitate automated and repeated test orchestration and other automated features targeted at the enterprise.
.TP
.SH RESULT VIEWER
.B n
_
.TP
.SH SEE ALSO
.B Websites:
.br
http://www.phoronix-test-suite.com/
https://www.phoronix-test-suite.com/
.br
http://commercial.phoronix-test-suite.com/
https://commercial.phoronix-test-suite.com/
.br
http://www.openbenchmarking.org/
https://www.openbenchmarking.org/
.br
http://www.phoronix.com/
https://www.phoronix.com/
.br
http://www.phoronix.com/forums/
https://www.phoronix.com/forums/
.SH AUTHORS
Copyright 2008 - 2018 by Phoronix Media, Michael Larabel.
Copyright 2008 - 2019 by Phoronix Media, Michael Larabel.
.TP

View File

@@ -44,7 +44,7 @@
<p>This command will simply download all of the needed test files for the tests/suites passed to the sub-command. Alternatively you could also pass pts/all to cache all tests. It's important though to just cache the tests/suites you'll be using on your network. This will generate the test file download cache by default to <em>~/.phoronix-test-suite/download-cache/</em> or <em>/usr/share/phoronix-test-suite/download-cache/</em> depending upon your write permissions. You can always run this command later with more test files. Alternatively, if you already have a number of tests installed on the system, simply running "phoronix-test-suite make-download-cache" will generate the cache based upon the currently installed tests.</p>
<p><strong>$ phoronix-test-suite make-openbenchmarking-cache</strong></p>
<p>This command will cache as much of the OpenBenchmarking.org meta-data as possible for test profiles and test suites. After the above commands, the Phoromatic Server should no longer need a persistent Internet connection.</p>
<p><strong>$ phororonix-test-suite start-phoromatic-server</strong></p>
<p><strong>$ phoronix-test-suite start-phoromatic-server</strong></p>
<p>Proceed to start the Phoromatic Server and operate as normal.</p>
<p>For the test clients without an Internet connection, as long as they're able to reach the Phoromatic Server, the Phoromatic Server should be able to automatically serve all of the needed test files download cache and OpenBenchmarking.org meta-data to the systems locally.</p>
<h3>Use Case C: Phoromatic Across The Internet</h3>

View File

@@ -46,7 +46,7 @@ It's possible to run the Phoronix Test Suite and Phoromatic Server without a per
This command will simply download all of the needed test files for the tests/suites passed to the sub-command. Alternatively you could also pass pts/all to cache all tests. It's important though to just cache the tests/suites you'll be using on your network. This will generate the test file download cache by default to *~/.phoronix-test-suite/download-cache/* or */usr/share/phoronix-test-suite/download-cache/* depending upon your write permissions. You can always run this command later with more test files. Alternatively, if you already have a number of tests installed on the system, simply running "phoronix-test-suite make-download-cache" will generate the cache based upon the currently installed tests.
**$ phoronix-test-suite make-openbenchmarking-cache**
This command will cache as much of the OpenBenchmarking.org meta-data as possible for test profiles and test suites. After the above commands, the Phoromatic Server should no longer need a persistent Internet connection.
**$ phororonix-test-suite start-phoromatic-server**
**$ phoronix-test-suite start-phoromatic-server**
Proceed to start the Phoromatic Server and operate as normal.
For the test clients without an Internet connection, as long as they're able to reach the Phoromatic Server, the Phoromatic Server should be able to automatically serve all of the needed test files download cache and OpenBenchmarking.org meta-data to the systems locally.
#### Use Case C: Phoromatic Across The Internet

File diff suppressed because one or more lines are too long

View File

@@ -2,7 +2,7 @@
# Getting Started
## Overview
The Phoronix Test Suite is the most comprehensive testing and benchmarking platform available for Linux, Solaris, Mac OS X, and BSD operating systems. The Phoronix Test Suite allows for carrying out tests in a fully automated manner from test installation to execution and reporting. All tests are meant to be easily reproducible, easy-to-use, and support fully automated execution. The Phoronix Test Suite is open-source under the GNU GPLv3 license and is developed by Phoronix Media in cooperation with partners. Version 1.0 of the Phoronix Test Suite was publicly released in 2008.
The Phoronix Test Suite is the most comprehensive testing and benchmarking platform available for Linux, Solaris, macOS, Windows, and BSD operating systems. The Phoronix Test Suite allows for carrying out tests in a fully automated manner from test installation to execution and reporting. All tests are meant to be easily reproducible, easy-to-use, and support fully automated execution. The Phoronix Test Suite is open-source under the GNU GPLv3 license and is developed by Phoronix Media in cooperation with partners. Version 1.0 of the Phoronix Test Suite was publicly released in 2008.
The Phoronix Test Suite client itself is a test framework for providing seamless execution of test profiles and test suites. There are more than 200 tests available by default, which are transparently available via [OpenBenchmarking.org](http://openbenchmarking.org/) integration. Of these default test profiles there is a range of sub-systems that can be tested and a range of hardware from mobile devices to desktops and worksrtations/servers. New tests can be easily introduced via the Phoronix Test Suite's extensible test architecture, with test profiles consisting of XML files and shell scripts. Test profiles can produce a quantitative result or other qualitative/abstract results like image quality comparisons and pass/fail. Using Phoronix Test Suite modules, other data can also be automatically collected at run-time such as the system power consumption, disk usage, and other software/hardware sensors. Test suites contain references to test profiles to execute as part of a set or can also reference other test suites. Test suites are defined via an XML schema.
Running the Phoronix Test Suite for the first time can be as simple as issuing a command such as *phoronix-test-suite benchmark c-ray* , which would proceed to install a simple CPU test, execute the test, and report the results. Along with the results, the system's hardware/software information is collected in a detailed manner, relevant system logs, and other important system attributes such as compiler flags and system state. Users can optionally upload their results to OpenBenchmarking.org for sharing results with others, comparing results against other systems, and to carry out further analysis.
@@ -20,9 +20,23 @@ The following options are currently supported by the Phoronix Test Suite client.
---
## System
#### diagnostics
This option will print information that is useful to developers when debugging problems with the Phoronix Test Suite and/or test profiles and test suites.
#### interactive
A simple text-driven interactive interface to the Phoronix Test Suite.
#### php-conf
This option will print information that is useful to developers when debugging problems with the Phoronix Test Suite and/or test profiles and test suites.
#### shell
A simple text-driven shell interface / helper to the Phoronix Test Suite. Ideal for those that may be new to the Phoronix Test Suite
#### system-info
Display the installed system hardware and software information as detected by the Phoronix Test Suite Phodevi Library.
#### system-sensors
Display the installed system hardware and software sensors in real-time as detected by the Phoronix Test Suite Phodevi Library.
## Test Installation
#### force-install [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option will force the installation (or re-installation) of a test or suite. The arguments and process is similar to the install option but even if the test is installed, the entire installation process will automatically be executed. This option is generally used when debugging a test installation problem.
This option will force the installation (or re-installation) of a test or suite. The arguments and process is similar to the install option but even if the test is installed, the entire installation process will automatically be executed. This option is generally used when debugging a test installation problem or wishing to re-install test(s) due to compiler or other environmental changes.
#### install [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option will install the selected test(s) inside the testing environment directory. The install process from downloading of the test files to the installation is fully automated. The install option needs to be supplied with the test name or suite as an argument. Optionally, a OpenBenchmarking.org ID or the name of a saved results file can be supplied as well and the test(s) to install will automatically be extracted from that information. If the test is already installed and was run by the latest version of the installation process, no action will be taken. Multiple arguments can be supplied to install additional tests at the same time.
#### install-dependencies [Test | Suite | OpenBenchmarking ID | Test Result] ...
@@ -49,6 +63,10 @@ This option will query OpenBenchmarking.org to run random benchmarks and result
This option can be used if you wish to run all of the tests found in a supplied suite, but you wish to re-configure each of the test options rather than using the defaults supplied by the suite.
#### stress-run [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option will run the passed tests/suites in the multi-process stress-testing mode. The stress-run mode will not produce a result file but is rather intended for running multiple test profiles concurrently to stress / burn-in the system. The number of tests to run concurrently can be toggled via the PTS_CONCURRENT_TEST_RUNS environment variable and by default is set to a value of 2.
#### strict-benchmark [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option is equivalent to the `benchmark` option except it enables various options to run benchmarks an extended number of times for ensuring better statistical accuracy if enforcing strict controls over the data quality, in some cases running the benchmarks for 20+ times.
#### strict-run [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option is equivalent to the `run` option except it enables various options to run benchmarks an extended number of times for ensuring better statistical accuracy if enforcing strict controls over the data quality, in some cases running the benchmarks for 20+ times.
## Batch Testing
#### batch-benchmark [Test | Suite | OpenBenchmarking ID | Test Result] ...
@@ -63,6 +81,8 @@ This option is used to configure the batch mode options for the Phoronix Test Su
This option will install the selected test(s) (if needed) and will proceed to run the test(s) in the defaults mode. This option is equivalent to running phoronix-test-suite with the install option followed by the default-run option.
#### default-run [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option will run the selected test(s). The name of the test or suite must be supplied or the OpenBenchmarking.org ID or saved local file name. Multiple arguments can be supplied to run additional tests at the same time and save the results in a suite-like fashion. Unlike the normal run option, the default-run will not prompt the user to select from the available test options but will instead use the default options as automatically set by pts-core or the test profile. Use batch-run to automatically test all of the available options.
#### dry-run [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option and its arguments pre-set the Phoronix Test Suite batch run mode with enforcing of defaults to not save any results and other behavior intended for a dry/test run. This option is primarily intended for testing/evaluation purposes.
#### internal-run [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option and its arguments pre-set the Phoronix Test Suite batch run mode with sane values for carrying out benchmarks in a semi-automated manner and without uploading any of the result data to the public OpenBenchmarking.org.
@@ -83,6 +103,8 @@ This option is used for refreshing the stored OpenBenchmarking.org repostory inf
This option will list the OpenBenchmarking.org repositories currently linked to this Phoronix Test Suite client instance.
#### openbenchmarking-uploads
This option will list any recent test result uploads from the system's IP address to OpenBenchmarking.org.
#### recently-added-tests
This option will list the most recently added (newest) test profiles.
#### upload-result [Test Result]
This option is used for uploading a test result to OpenBenchmarking.org.
#### upload-test-profile
@@ -90,29 +112,19 @@ This option can be used for uploading a test profile to your account on OpenBenc
#### upload-test-suite
This option can be used for uploading a test suite to your account on OpenBenchmarking.org. By uploading your test suite to OpenBenchmarking.org, others are then able to browse and access this test suite for easy distribution.
## System
#### diagnostics
This option will print information that is useful to developers when debugging problems with the Phoronix Test Suite and/or test profiles and test suites.
#### interactive
A simple text-driven interactive interface to the Phoronix Test Suite.
#### php-conf
This option will print information that is useful to developers when debugging problems with the Phoronix Test Suite and/or test profiles and test suites.
#### shell
A simple text-driven shell interface / helper to the Phoronix Test Suite. Ideal for those that may be new to the Phoronix Test Suite
#### system-info
Display the installed system hardware and software information as detected by the Phoronix Test Suite Phodevi Library.
#### system-sensors
Display the installed system hardware and software sensors in real-time as detected by the Phoronix Test Suite Phodevi Library.
## Information
#### info [Test | Suite | OpenBenchmarking ID | Test Result]
This option will show details about the supplied test, suite, virtual suite, or result file.
#### list-all-tests
This option will list all test profiles that are available from the enabled OpenBenchmarking.org repositories. Unlike the other test listing options, list-all-tests will show deprecated tests, potentially broken tests, or other tests not recommended for all environments. The only check in place is ensuring the test profiles are at least compatible with the operating system in use.
#### list-available-suites
This option will list all test suites that are available from the enabled OpenBenchmarking.org repositories.
#### list-available-tests
This option will list all test profiles that are available from the enabled OpenBenchmarking.org repositories where supported on the system and are of a verified state.
This option will list all test profiles that are available from the enabled OpenBenchmarking.org repositories where supported on the system and are of a verified state. If the system has no Internet access, it will only list the test profiles where the necesary test assets are available locally on the system or on an available network cache (the same behavior as using the list-cached-tests sub-command), unless using the list-all-tests option to override this behavior.
#### list-available-virtual-suites
This option will list all available virtual test suites that can be dynamically created based upon the available tests from enabled OpenBenchmarking.org repositories.
#### list-cached-tests
This option will list all test profiles where any needed test profiles are already cached or available from the local system under test. This is primarily useful if testing offline/behind-the-firewall and other use-cases where wanting to rely only upon local data.
#### list-installed-dependencies
This option will list all of the packages / external test dependencies that are already installed on the system that the Phoronix Test Suite may potentially depend upon by test profiles.
#### list-installed-suites
@@ -165,6 +177,10 @@ This option can be used for validating a Phoronix Test Suite test suite as being
This option will generate a candlestick graph showing the distribution of results from all trial runs. The candlestick graph is similar to the Japanese candlestick charts used by the financial industry, except instead of representing stock data it is numerical result data from all trial runs.\n\nThe tip of the upper-wick represents the highest value of the test runs with the tip of the lower-wick representing the lowest value of all test runs. The upper-edge of the candle body represents the first or last run value and the lower-edge represents the first or last run value. Lastly, if the last run value is less than the first run value, the candle body is the same color as the graph background, otherwise the last run value is greater.
#### auto-sort-result-file [Test Result]
This option is used if you wish to automatically attempt to sort the results by their result identifier string.
#### compare-results-to-baseline [Test Result] [Test Result]
This option will allows you to specify a result as a baseline (first parameter) and a second result file (second parameter) that will offer some analysis for showing how the second result compares to the first in matching tests.
#### compare-results-two-way [Test Result]
This option will allows you to specify a result file and from there to compare two individual runs within that result file for looking at wins/losses and other metrics in a head-to-head type comparison.
#### edit-result-file [Test Result]
This option is used if you wish to edit the title and description of an existing result file.
#### extract-from-result-file [Test Result]
@@ -173,16 +189,24 @@ This option will extract a single set of test results from a saved results file
This option will manually merge multiple sets of test results generated by the Phoronix Test Suite.
#### refresh-graphs [Test Result]
This option will re-render and save all result graphs within a saved file. This option can be used when making modifications to the graphing code or its color/option configuration file and testing the changes.
#### remove-from-result-file [Test Result]
This option is used if there is a set of test results you wish to remove/delete from a saved results file. The user must specify a saved results file and then they will be prompted to select the results identifier associated with the results they wish to remove.
#### remove-result [Test Result]
This option will permanently remove the saved file set that is set as the first argument.
#### remove-results-from-result-file [Test Result]
This option is used if there are test results (benchmarks) to be dropped from a given result file. The user must specify a saved results file and then they will be prompted to select the tests/benchmarks to remove.
#### remove-run-from-result-file [Test Result]
This option is used if there is a set of test results you wish to remove/delete from a saved results file. The user must specify a saved results file and then they will be prompted to select the results identifier associated with the results they wish to remove.
#### rename-identifier-in-result-file [Test Result]
This option is used if you wish to change the name of the identifier in a test results file that is shown in the Phoronix Test Suite Results Viewer and the contained graphs.
#### rename-result-file [Test Result]
This option is used if you wish to change the name of the saved name of a result file.
#### reorder-result-file [Test Result]
This option is used if you wish to manually change the order in which test results are shown in the Phoronix Test Suite Results Viewer and the contained graphs. The user must specify a saved results file and then they will be prompted to select the results identifiers one at a time in the order they would like them to be displayed from left to right.
#### result-file-confidence [Test Result]
This option will read a saved test results file and display various statistics on the confidence of the results with the standard deviation, three-sigma values, and other metrics while color-coding "passing" results in green.
#### result-file-raw-to-csv [Test Result]
This option will read a saved test results file and output the raw result file run data to a CSV file. This raw (individual) result file output is intended for data analytic purposes where the result-file-to-csv is more end-user-ready.
#### result-file-stats [Test Result]
This option is used if you wish to analyze a result file by seeing various statistics on the result data for result files containing at least two sets of data.
#### result-file-to-csv [Test Result]
This option will read a saved test results file and output the system hardware and software information along with the results to a CSV output. The CSV (Comma Separated Values) output can then be loaded into a spreadsheet for easy viewing.
#### result-file-to-json [Test Result]
@@ -193,7 +217,7 @@ This option will read a saved test results file and output the system hardware a
This option will read a saved test results file and output the system hardware and software information to the terminal. The test results are also outputted.
#### show-result [Test Result]
Open up the test results in the Phoronix Test Suite Result Viewer or on OpenBenchmarking.org.
#### winners-and-losers [Test Result]
#### wins-and-losses [Test Result]
This option is used if you wish to analyze a result file to see which runs produced the most wins/losses of those result identifiers in the saved file.
## Other
@@ -212,7 +236,7 @@ This option will display the Phoronix Test Suite client version.
## Modules
#### auto-load-module
This option can be used for easily adding a module to the LoadModules list in the Phoronix Test Suite user configuration file. That list controls what PTS modules are automatically loaded on start-up of the Phoronix Test Suite.
This option can be used for easily adding a module to the AutoLoadModules list in the Phoronix Test Suite user configuration file. That list controls what PTS modules are automatically loaded on start-up of the Phoronix Test Suite.
#### list-modules
This option will list all of the available Phoronix Test Suite modules on this system.
#### module-info [Phoronix Test Suite Module]
@@ -222,7 +246,7 @@ This option will allow you to configure all available end-user options for a Pho
#### test-module [Phoronix Test Suite Module]
This option can be used for debugging a Phoronix Test Suite module.
#### unload-module
This option can be used for easily removing a module from the LoadModules list in the Phoronix Test Suite user configuration file. That list controls what modules are automatically loaded on start-up of the Phoronix Test Suite.
This option can be used for easily removing a module from the AutoLoadModules list in the Phoronix Test Suite user configuration file. That list controls what modules are automatically loaded on start-up of the Phoronix Test Suite.
## User Configuration
#### enterprise-setup
@@ -236,16 +260,16 @@ This option can be used for resetting the Phoronix Test Suite user configuration
#### user-config-set
This option can be used for setting an XML value in the Phoronix Test Suite user configuration file.
## Web / GUI Support
#### gui
Launch the Phoronix Test Suite HTML5 web user-interface in the local GUI mode (no remote web support) and attempt to auto-launch the web-browser. THIS FEATURE IS CURRENTLY EXPERIMENTAL AND NO LONGER ACTIVE DEVELOPMENT. See Phoronix Test Suite Phoromatic as an alternative web UI approach.
## Phoromatic
#### start-phoromatic-server
Start the Phoromatic web server for controlling local Phoronix Test Suite client systems to facilitate automated and repeated test orchestration and other automated features targeted at the enterprise.
## Result Viewer
#### start-result-viewer
Start the web-based result viewer.
# Module Options
The following list is the modules included with the Phoronix Test Suite that are intended to extend the functionality of pts-core. Some of these options have commands that can be run directly in a similiar manner to the other Phoronix Test Suite user commands. Some modules are just meant to be loaded directly by adding the module name to the LoadModules tag in ~/.phoronix-test-suite/user-config.xml or via the PTS_MODULES environment variable. A list of available modules is also available by running *phoronix-test-suite list-modules.*
The following list is the modules included with the Phoronix Test Suite that are intended to extend the functionality of pts-core. Some of these options have commands that can be run directly in a similiar manner to the other Phoronix Test Suite user commands. Some modules are just meant to be loaded directly by adding the module name to the AutoLoadModules tag in ~/.phoronix-test-suite/user-config.xml or via the PTS_MODULES environment variable. A list of available modules is also available by running *phoronix-test-suite list-modules.*
---
@@ -274,6 +298,9 @@ This module utilizes the following environmental variables: EXPORT_RESULTS_HTML_
Setting LINUX_PERF=1 will auto-load and enable this Phoronix Test Suite module. The module also depends upon running a modern Linux kernel (supporting perf) and that the perf binary is available via standard system paths.
This module utilizes the following environmental variables: LINUX_PERF.
### Dynamic Result Viewer
This module pre-loads the HTTP dynamic result viewer for Phoronix Test Suite data.
### Log Exporter
This module allows for easily exporting test run logs and system logs to external locations via specifying the directory paths via the COPY_TEST_RUN_LOGS_TO and COPY_SYSTEM_LOGS_TO environment variables.
This module utilizes the following environmental variables: COPY_TEST_RUN_LOGS_TO, COPY_SYSTEM_LOGS_TO.
@@ -284,7 +311,7 @@ phoronix-test-suite matisk.run
phoronix-test-suite matisk.template
### OpenBenchmarking.org Auto Comparison
This module prints comparable OpenBenchmarking.org results in the command-line for reference purposes as tests are being run. OpenBenchmarking.org is automatically queried for results to show based on the test comparison hash and the system type (mobile, desktop, server, cloud, workstation, etc). No other system information or result data is transmitted..
This module prints comparable OpenBenchmarking.org results in the command-line for reference purposes as tests are being run. OpenBenchmarking.org is automatically queried for results to show based on the test comparison hash and the system type (mobile, desktop, server, cloud, workstation, etc). No other system information or result data is transmitted.
phoronix-test-suite ob_auto_compare.debug
### Performance Per Dollar/Cost Calculator
@@ -297,6 +324,10 @@ This module alerts the user if the system configuration may not be the right one
phoronix-test-suite perf_tips.show
This module utilizes the following environmental variables: SUPPRESS_PERF_TIPS.
### Benchmarking Compiler PGO Impact
This module makes it easy to test a compiler PGO (Profile Guided Optimization) performance impact by running a test without PGO optimizations, capturing the PGO profile, rebuilding the tests with the PGO profile generated, and then repeat the benchmarks.
phoronix-test-suite pgo.benchmark
### Phoromatic Client
The Phoromatic client is used for connecting to a Phoromatic server (Phoromatic.com or a locally run server) to facilitate the automatic running of tests, generally across multiple test nodes in a routine manner. For more details visit http://www.phoromatic.com/. This module is intended to be used with Phoronix Test Suite 5.2+ clients and servers.
phoronix-test-suite phoromatic.connect
@@ -324,7 +355,7 @@ phoronix-test-suite results_custom_export.nf
### System Monitor
This module contains sensor monitoring support.
This module utilizes the following environmental variables: MONITOR, PERFORMANCE_PER_WATT, MONITOR_INTERVAL, MONITOR_PER_RUN.
This module utilizes the following environmental variables: MONITOR, PERFORMANCE_PER_WATT, PERFORMANCE_PER_SENSOR, MONITOR_INTERVAL, MONITOR_PER_RUN.
### Timed Screenshot
This is a module that will take a screenshot of the system at a pre-defined interval. ImageMagick must be installed onto the system prior to using this module.
@@ -348,7 +379,7 @@ This module utilizes the following environmental variables: WATCHDOG_SENSOR, WAT
# Installation Instructions
## Setup Overview
The Phoronix Test Suite supports Linux, Apple Mac OS X, Microsoft Windows, Solaris, Hurd, BSD, and other operating system environments. The only Linux distribution-specific code deals with the external dependencies support feature that are set by individual test profiles. If you are not running one of the supported Linux distributions, Solaris, BSD, or Mac OS X, you may need to install a package manually (as instructed by the Phoronix Test Suite) in order for a test to run. An example of an external dependency would be GCC and the OpenGL Utility Toolkit being needed for test profiles that build an OpenGL benchmark from source-code.
The Phoronix Test Suite supports Linux, Apple macOS, Microsoft Windows, Solaris, Hurd, BSD, and other operating system environments. The only Linux distribution-specific code deals with the external dependencies support feature that are set by individual test profiles. If you are not running one of the supported Linux distributions, Solaris, BSD, or macOS, you may need to install a package manually (as instructed by the Phoronix Test Suite) in order for a test to run. An example of an external dependency would be GCC and the OpenGL Utility Toolkit being needed for test profiles that build an OpenGL benchmark from source-code.
Among the distributions where the Phoronix Test Suite has been officially tested include Ubuntu, Fedora, Mandriva / Mageia, Gentoo, PCLinuxOS, Arch Linux, Pardus, OpenSuSE, Optware, webOS, Zenwalk, CentOS, Red Hat Enterprise Linux, Oracle Linux, Scientific Linux, Debian, Mint, MEPIS, Alpine Linux, Void Linux, Intel Clear Linux, and Amazon Linux EC2.
Among the tested BSD distributions are FreeBSD, PC-BSD, NetBSD, OpenBSD, Debian GNU/kFreeBSD, and DragonflyBSD. Tested Solaris distributions include OpenSolaris, Solaris Express 11, Oracle Solaris 11, OpenIndiana, Illumos, and Nexenta.
@@ -397,11 +428,9 @@ Running *install-sh* from the root directory of the Phoronix Test Suite will ins
### Debian/Ubuntu Installation
Debian/Ubuntu users are able to follow the Generic Installation instructions or can obtain a Debian Package from the Phoronix Test Suite web-site. The package contains the *phoronix-test-suite* executable in */usr/bin/* , the Phoronix Test Suite files in */usr/share/phoronix-test-suite/* , and the documentation in */usr/share/doc/phoronix-test-suite/* .
A phoronix-test-suite package can also be found in the official Ubuntu universe repository beginning with the Ubuntu 9.04 (Jaunty) release, but it may be out of date compared to the latest upstream version.
On Ubuntu 13.04 and newer if you experience an issue of system sensor monitoring not working, other multi-process tasks, or related issues reported as PHP PCNTL missing, the pcntl functions need to be removed from the *disable_functions* line within the */etc/php5/cli/php.ini* file. This may also affect other Linux distribution support too if the vendor disables access to the PCNTL functions.
### Fedora / Red Hat Installation
The Phoronix Test Suite can be installed on Fedora, Red Hat Enterprise Linux, and CentOS systems using the generic installation method. Alternatively, a *phoronix-test-suite* package is available in recent versions of the Fedora repository and in the EPEL (Extra Packages for Enterprise Linux) repository for Red Hat Enterprise Linux. At this time, however, the Fedora-supplied package is vastly out of date.
The Phoronix Test Suite can be installed on Fedora, Red Hat Enterprise Linux, and CentOS systems using the generic installation method. Alternatively, a *phoronix-test-suite* package is available in recent versions of the Fedora repository and in the EPEL (Extra Packages for Enterprise Linux) repository for Red Hat Enterprise Linux. However, at times this package may be out-of-date compared to upstream stable.
### Gentoo Installation
Gentoo ebuild's for the Phoronix Test Suite have been created by users and can be currently found in the [Gentoo BugZilla](http://bugs.gentoo.org/show_bug.cgi?id=216656) .
@@ -416,8 +445,8 @@ The Phoronix Test Suite core (pts-core) is supported on Solaris and OpenSolaris
The Phoronix Test Suite also supports *BSD operating systems. However, like the Solaris support, not all test profiles are compatible with BSD operating systems, but pts-core has been tested against FreeBSD 7.x/8.x/9.x, NetBSD, PC-BSD 7/8/9, DragonFlyBSD 3.0/3.2/3.4/3.6/4.2, and OpenBSD 4.4/4.6. The Phoronix Test Suite will also work with Debian GNU/kFreeBSD.
For DragonFlyBSD, it's a matter of just using *pkg_radd* with php5, php5-json, php5-dom, and php5-zip or *pkgsrc* . With DragonFlyBSD using dports, the command is *pkg install php5 php5-dom php5-zip php5-json php5-simplexml* . Under FreeBSD/PC-BSD, PHP can be obtained from the *php5* and *php5-extensions* Ports collection.
### Mac OS X Installation
The Phoronix Test Suite is fully supported on Apple's Mac OS X operating system as of Mac OS X 10.5 with improved support under Mac OS X 10.6. PHP ships with Mac OS X by default so it's simply a matter of downloading the Phoronix Test Suite package, extracting it, and running the executable. For tests that rely upon a compiler, Apple's XCode with GCC and LLVM can be utilized.
### MacOS Installation
The Phoronix Test Suite is fully supported on Apple's macOS operating system. PHP ships with macOS by default so it's simply a matter of downloading the Phoronix Test Suite package, extracting it, and running the executable. For tests that rely upon a compiler, Apple's XCode with GCC and LLVM can be utilized.
### Windows Installation
The Phoronix Test Suite support on Microsoft Windows is in development and will function just fine, but is not yet feature complete compared to the other operating systems support. Only a small subset of test profiles, mostly related to graphics, are supported. In terms of the version support, right now the Phoronix Test Suite is developed and tested solely against Microsoft Windows 7 x64 and Microsoft Windows 8 x64.
@@ -435,7 +464,7 @@ Below are a list of the operating systems that currently have external dependenc
---
Alpine LinuxAmazonAngstromArch LinuxCentOSClearOSClearOS Core ServerDebianDragonFlyBSDFedoraFluxbuntuGNU KFreeBSDGentooGoobuntuHPJoli CloudLinaroLinux Embedded Development EnvironmentLinux MintMEPISMac OS XMacPortsMageiaMandrivaMeeGoMicrosoft WindowsMidnightBSDMoblinMythbuntuNetBSDNexenta CoreOLPCOpenIndianaOpenMandrivaOpenSolarisOpenSuSEOptwareOracle ServerPCLinuxOSPTS Desktop LivePTS Linux LivePalmPardus LinuxRed Hat EnterpriseRed Hat Enterprise ServerSUSESUSE LinuxScientificScientificSLSolusSolus LinuxTermuxUbuntuVoid LinuxZenwalkgNewSensemacOS Brew
Alpine LinuxAmazonAngstromArch LinuxCentOSClearOSClearOS Core ServerDebianDragonFlyBSDFedoraFluxbuntuGNU KFreeBSDGentooGoobuntuHPJoli CloudLinaroLinux Embedded Development EnvironmentLinux MintMEPISMac OS XMacPortsMageiaMandrivaMeeGoMicrosoft WindowsMidnightBSDMoblinMythbuntuNetBSDNexenta CoreOLPCOpenIndianaOpenMandrivaOpenMandrivaLinuxOpenSolarisOpenSuSEOptwareOracle ServerPCLinuxOSPTS Desktop LivePTS Linux LivePalmPardus LinuxRed Hat EnterpriseRed Hat Enterprise ServerSUSESUSE LinuxScientificScientificSLSolusSolus LinuxTermuxUbuntuVoid LinuxZenwalkgNewSensemacOS Brew
# Configuration
## User Files & Folders
@@ -491,8 +520,14 @@ If you want to ensure that the time for a given Phoronix Test Suite process does
When running any test(s), if you would like the test(s) to continue running for a number of times, this variable can be used. The value should be the number of times to loop the testing process before ending.
**FORCE_TIMES_TO_RUN**
If you wish to override the number of times to run each test -- rather than the Phoronix Test Suite using the number of times specified in each test profile -- this variable can be used.
**FORCE_TIMES_TO_RUN_MULTIPLE**
This option allows specifying a multiple for increasing the number of times a test will run based upon the original TimesToRun value specified in the test definition. This allows for increasing the expected times to run based on a multiple of that default rather than a static value.
**FORCE_MIN_TIMES_TO_RUN**
This is similar to the FORCE_TIMES_TO_RUN option but will only be used if the test profile's run count is less than this defined value.
**FORCE_MIN_TIMES_TO_RUN_CUTOFF**
When used in conjunction with FORCE_MIN_TIMES_TO_RUN, the override value will only be applied to test profiles where its average run-time length (in minutes) is less than the value specified by FORCE_MIN_TIMES_TO_RUN_CUTOFF.
**IGNORE_RUNS**
IGNORE_RUNS can be passed a comma-separated list of runs to skip on each benchmark. For example, IGNORE_RUNS=1 would always drop the first run from being recorded.
**NO_FILE_HASH_CHECKS**
To disable MD5/SHA256 check-sums from being checked when downloading test files, set this variable to 1. This variable used to be known as *NO_MD5_CHECKS* , which is still honored but was changed to *NO_FILE_HASH_CHECKS* to reflect other kind of file hash sum checks.
**NO_HTTPS**
@@ -577,6 +612,8 @@ Virtual test suites can be installed and run just like a normal XML test suite a
This is a collection of all test profiles found within the specified OpenBenchmarking.org repository.
#### Installed Tests pts/installed
This is a collection of test profiles found within the specified OpenBenchmarking.org repository that are already installed on the system under test.
#### Every PTS Test pts/everything
This is a collection of every test profile found within the specified OpenBenchmarking.org repository, including unsupported tests.
#### Linux Operating System Tests pts/linux
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being compatible with the Linux Operating System.
#### Solaris Operating System Tests pts/solaris
@@ -613,14 +650,14 @@ This is a collection of test profiles found within the specified OpenBenchmarkin
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified via an internal tag as testing smp.
#### Cuda Tests pts/cuda
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified via an internal tag as testing cuda.
#### Openmp Tests pts/openmp
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified via an internal tag as testing openmp.
#### Python Tests pts/python
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified via an internal tag as testing python.
#### Go Tests pts/go
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified via an internal tag as testing go.
#### Mpi Tests pts/mpi
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified via an internal tag as testing mpi.
#### Openmp Tests pts/openmp
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified via an internal tag as testing openmp.
#### Vdpau Tests pts/vdpau
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified via an internal tag as testing vdpau.
#### Video Tests pts/video
@@ -633,6 +670,8 @@ This is a collection of test profiles found within the specified OpenBenchmarkin
This is a collection of all test profiles found within the specified OpenBenchmarking.org repository.
#### Installed Tests system/installed
This is a collection of test profiles found within the specified OpenBenchmarking.org repository that are already installed on the system under test.
#### Every SYSTEM Test system/everything
This is a collection of every test profile found within the specified OpenBenchmarking.org repository, including unsupported tests.
#### Linux Operating System Tests system/linux
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being compatible with the Linux Operating System.
#### Solaris Operating System Tests system/solaris
@@ -675,6 +714,96 @@ This is a collection of test profiles found within the specified OpenBenchmarkin
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified via an internal tag as testing opencl.
#### Cuda Tests system/cuda
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified via an internal tag as testing cuda.
#### All GIT Tests git/all
This is a collection of all test profiles found within the specified OpenBenchmarking.org repository.
#### Installed Tests git/installed
This is a collection of test profiles found within the specified OpenBenchmarking.org repository that are already installed on the system under test.
#### Every GIT Test git/everything
This is a collection of every test profile found within the specified OpenBenchmarking.org repository, including unsupported tests.
#### Linux Operating System Tests git/linux
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being compatible with the Linux Operating System.
#### Solaris Operating System Tests git/solaris
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being compatible with the Solaris Operating System.
#### BSD Operating System Tests git/bsd
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being compatible with the BSD Operating System.
#### MacOSX Operating System Tests git/macosx
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being compatible with the MacOSX Operating System.
#### Windows Operating System Tests git/windows
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being compatible with the Windows Operating System.
#### Hurd Operating System Tests git/hurd
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being compatible with the Hurd Operating System.
#### System Subsystem Tests git/system
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a test of the System sub-system.
#### Processor Subsystem Tests git/processor
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a test of the Processor sub-system.
#### Disk Subsystem Tests git/disk
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a test of the Disk sub-system.
#### Graphics Subsystem Tests git/graphics
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a test of the Graphics sub-system.
#### Memory Subsystem Tests git/memory
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a test of the Memory sub-system.
#### Network Subsystem Tests git/network
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a test of the Network sub-system.
#### Other Subsystem Tests git/other
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a test of the Other sub-system.
#### Utility Tests git/utility
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a Utility software test.
#### Simulator Tests git/simulator
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a Simulator software test.
#### Scientific Tests git/scientific
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a Scientific software test.
#### Benchmark Tests git/benchmark
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a Benchmark software test.
#### Application Tests git/application
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a Application software test.
#### Game Tests git/game
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a Game software test.
#### Smp Tests git/smp
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified via an internal tag as testing smp.
#### All WINDOWS Tests windows/all
This is a collection of all test profiles found within the specified OpenBenchmarking.org repository.
#### Installed Tests windows/installed
This is a collection of test profiles found within the specified OpenBenchmarking.org repository that are already installed on the system under test.
#### Every WINDOWS Test windows/everything
This is a collection of every test profile found within the specified OpenBenchmarking.org repository, including unsupported tests.
#### Linux Operating System Tests windows/linux
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being compatible with the Linux Operating System.
#### Solaris Operating System Tests windows/solaris
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being compatible with the Solaris Operating System.
#### BSD Operating System Tests windows/bsd
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being compatible with the BSD Operating System.
#### MacOSX Operating System Tests windows/macosx
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being compatible with the MacOSX Operating System.
#### Windows Operating System Tests windows/windows
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being compatible with the Windows Operating System.
#### Hurd Operating System Tests windows/hurd
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being compatible with the Hurd Operating System.
#### System Subsystem Tests windows/system
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a test of the System sub-system.
#### Processor Subsystem Tests windows/processor
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a test of the Processor sub-system.
#### Disk Subsystem Tests windows/disk
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a test of the Disk sub-system.
#### Graphics Subsystem Tests windows/graphics
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a test of the Graphics sub-system.
#### Memory Subsystem Tests windows/memory
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a test of the Memory sub-system.
#### Network Subsystem Tests windows/network
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a test of the Network sub-system.
#### Other Subsystem Tests windows/other
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a test of the Other sub-system.
#### Utility Tests windows/utility
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a Utility software test.
#### Simulator Tests windows/simulator
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a Simulator software test.
#### Scientific Tests windows/scientific
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a Scientific software test.
#### Benchmark Tests windows/benchmark
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a Benchmark software test.
#### Application Tests windows/application
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a Application software test.
#### Game Tests windows/game
This is a collection of test profiles found within the specified OpenBenchmarking.org repository where the test profile is specified as being a Game software test.
# Component Testing

View File

@@ -4,7 +4,7 @@
</head>
<body>
<h1>Overview</h1>
<p>The Phoronix Test Suite is the most comprehensive testing and benchmarking platform available for Linux, Solaris, Mac OS X, and BSD operating systems. The Phoronix Test Suite allows for carrying out tests in a fully automated manner from test installation to execution and reporting. All tests are meant to be easily reproducible, easy-to-use, and support fully automated execution. The Phoronix Test Suite is open-source under the GNU GPLv3 license and is developed by Phoronix Media in cooperation with partners. Version 1.0 of the Phoronix Test Suite was publicly released in 2008.</p>
<p>The Phoronix Test Suite is the most comprehensive testing and benchmarking platform available for Linux, Solaris, macOS, Windows, and BSD operating systems. The Phoronix Test Suite allows for carrying out tests in a fully automated manner from test installation to execution and reporting. All tests are meant to be easily reproducible, easy-to-use, and support fully automated execution. The Phoronix Test Suite is open-source under the GNU GPLv3 license and is developed by Phoronix Media in cooperation with partners. Version 1.0 of the Phoronix Test Suite was publicly released in 2008.</p>
<p>The Phoronix Test Suite client itself is a test framework for providing seamless execution of test profiles and test suites. There are more than 200 tests available by default, which are transparently available via <a href="http://openbenchmarking.org/">OpenBenchmarking.org</a> integration. Of these default test profiles there is a range of sub-systems that can be tested and a range of hardware from mobile devices to desktops and worksrtations/servers. New tests can be easily introduced via the Phoronix Test Suite's extensible test architecture, with test profiles consisting of XML files and shell scripts. Test profiles can produce a quantitative result or other qualitative/abstract results like image quality comparisons and pass/fail. Using Phoronix Test Suite modules, other data can also be automatically collected at run-time such as the system power consumption, disk usage, and other software/hardware sensors. Test suites contain references to test profiles to execute as part of a set or can also reference other test suites. Test suites are defined via an XML schema.</p>
<p>Running the Phoronix Test Suite for the first time can be as simple as issuing a command such as <em>phoronix-test-suite benchmark c-ray</em>, which would proceed to install a simple CPU test, execute the test, and report the results. Along with the results, the system's hardware/software information is collected in a detailed manner, relevant system logs, and other important system attributes such as compiler flags and system state. Users can optionally upload their results to OpenBenchmarking.org for sharing results with others, comparing results against other systems, and to carry out further analysis.</p>
<h1>OpenBenchmarking.org</h1>

View File

@@ -5,10 +5,29 @@
</head>
<body>
<p>The following options are currently supported by the Phoronix Test Suite client. A list of available options can also be found by running <em>phoronix-test-suite help.</em><hr></p>
<h1>System</h1>
<h3>diagnostics<em> </em>
</h3>
<p>This option will print information that is useful to developers when debugging problems with the Phoronix Test Suite and/or test profiles and test suites.</p>
<h3>interactive<em> </em>
</h3>
<p>A simple text-driven interactive interface to the Phoronix Test Suite.</p>
<h3>php-conf<em> </em>
</h3>
<p>This option will print information that is useful to developers when debugging problems with the Phoronix Test Suite and/or test profiles and test suites.</p>
<h3>shell<em> </em>
</h3>
<p>A simple text-driven shell interface / helper to the Phoronix Test Suite. Ideal for those that may be new to the Phoronix Test Suite</p>
<h3>system-info<em> </em>
</h3>
<p>Display the installed system hardware and software information as detected by the Phoronix Test Suite Phodevi Library.</p>
<h3>system-sensors<em> </em>
</h3>
<p>Display the installed system hardware and software sensors in real-time as detected by the Phoronix Test Suite Phodevi Library.</p>
<h1>Test Installation</h1>
<h3>force-install<em> [Test | Suite | OpenBenchmarking ID | Test Result] ...</em>
</h3>
<p>This option will force the installation (or re-installation) of a test or suite. The arguments and process is similar to the install option but even if the test is installed, the entire installation process will automatically be executed. This option is generally used when debugging a test installation problem.</p>
<p>This option will force the installation (or re-installation) of a test or suite. The arguments and process is similar to the install option but even if the test is installed, the entire installation process will automatically be executed. This option is generally used when debugging a test installation problem or wishing to re-install test(s) due to compiler or other environmental changes.</p>
<h3>install<em> [Test | Suite | OpenBenchmarking ID | Test Result] ...</em>
</h3>
<p>This option will install the selected test(s) inside the testing environment directory. The install process from downloading of the test files to the installation is fully automated. The install option needs to be supplied with the test name or suite as an argument. Optionally, a OpenBenchmarking.org ID or the name of a saved results file can be supplied as well and the test(s) to install will automatically be extracted from that information. If the test is already installed and was run by the latest version of the installation process, no action will be taken. Multiple arguments can be supplied to install additional tests at the same time.</p>
@@ -46,6 +65,12 @@
<h3>stress-run<em> [Test | Suite | OpenBenchmarking ID | Test Result] ...</em>
</h3>
<p>This option will run the passed tests/suites in the multi-process stress-testing mode. The stress-run mode will not produce a result file but is rather intended for running multiple test profiles concurrently to stress / burn-in the system. The number of tests to run concurrently can be toggled via the PTS_CONCURRENT_TEST_RUNS environment variable and by default is set to a value of 2.</p>
<h3>strict-benchmark<em> [Test | Suite | OpenBenchmarking ID | Test Result] ...</em>
</h3>
<p>This option is equivalent to the `benchmark` option except it enables various options to run benchmarks an extended number of times for ensuring better statistical accuracy if enforcing strict controls over the data quality, in some cases running the benchmarks for 20+ times.</p>
<h3>strict-run<em> [Test | Suite | OpenBenchmarking ID | Test Result] ...</em>
</h3>
<p>This option is equivalent to the `run` option except it enables various options to run benchmarks an extended number of times for ensuring better statistical accuracy if enforcing strict controls over the data quality, in some cases running the benchmarks for 20+ times.</p>
<h1>Batch Testing</h1>
<h3>batch-benchmark<em> [Test | Suite | OpenBenchmarking ID | Test Result] ...</em>
</h3>
@@ -65,6 +90,9 @@
<h3>default-run<em> [Test | Suite | OpenBenchmarking ID | Test Result] ...</em>
</h3>
<p>This option will run the selected test(s). The name of the test or suite must be supplied or the OpenBenchmarking.org ID or saved local file name. Multiple arguments can be supplied to run additional tests at the same time and save the results in a suite-like fashion. Unlike the normal run option, the default-run will not prompt the user to select from the available test options but will instead use the default options as automatically set by pts-core or the test profile. Use batch-run to automatically test all of the available options.</p>
<h3>dry-run<em> [Test | Suite | OpenBenchmarking ID | Test Result] ...</em>
</h3>
<p>This option and its arguments pre-set the Phoronix Test Suite batch run mode with enforcing of defaults to not save any results and other behavior intended for a dry/test run. This option is primarily intended for testing/evaluation purposes.</p>
<h3>internal-run<em> [Test | Suite | OpenBenchmarking ID | Test Result] ...</em>
</h3>
<p>This option and its arguments pre-set the Phoronix Test Suite batch run mode with sane values for carrying out benchmarks in a semi-automated manner and without uploading any of the result data to the public OpenBenchmarking.org.</p>
@@ -93,6 +121,9 @@
<h3>openbenchmarking-uploads<em> </em>
</h3>
<p>This option will list any recent test result uploads from the system's IP address to OpenBenchmarking.org.</p>
<h3>recently-added-tests<em> </em>
</h3>
<p>This option will list the most recently added (newest) test profiles.</p>
<h3>upload-result<em> [Test Result]</em>
</h3>
<p>This option is used for uploading a test result to OpenBenchmarking.org.</p>
@@ -102,38 +133,25 @@
<h3>upload-test-suite<em> </em>
</h3>
<p>This option can be used for uploading a test suite to your account on OpenBenchmarking.org. By uploading your test suite to OpenBenchmarking.org, others are then able to browse and access this test suite for easy distribution.</p>
<h1>System</h1>
<h3>diagnostics<em> </em>
</h3>
<p>This option will print information that is useful to developers when debugging problems with the Phoronix Test Suite and/or test profiles and test suites.</p>
<h3>interactive<em> </em>
</h3>
<p>A simple text-driven interactive interface to the Phoronix Test Suite.</p>
<h3>php-conf<em> </em>
</h3>
<p>This option will print information that is useful to developers when debugging problems with the Phoronix Test Suite and/or test profiles and test suites.</p>
<h3>shell<em> </em>
</h3>
<p>A simple text-driven shell interface / helper to the Phoronix Test Suite. Ideal for those that may be new to the Phoronix Test Suite</p>
<h3>system-info<em> </em>
</h3>
<p>Display the installed system hardware and software information as detected by the Phoronix Test Suite Phodevi Library.</p>
<h3>system-sensors<em> </em>
</h3>
<p>Display the installed system hardware and software sensors in real-time as detected by the Phoronix Test Suite Phodevi Library.</p>
<h1>Information</h1>
<h3>info<em> [Test | Suite | OpenBenchmarking ID | Test Result]</em>
</h3>
<p>This option will show details about the supplied test, suite, virtual suite, or result file.</p>
<h3>list-all-tests<em> </em>
</h3>
<p>This option will list all test profiles that are available from the enabled OpenBenchmarking.org repositories. Unlike the other test listing options, list-all-tests will show deprecated tests, potentially broken tests, or other tests not recommended for all environments. The only check in place is ensuring the test profiles are at least compatible with the operating system in use.</p>
<h3>list-available-suites<em> </em>
</h3>
<p>This option will list all test suites that are available from the enabled OpenBenchmarking.org repositories.</p>
<h3>list-available-tests<em> </em>
</h3>
<p>This option will list all test profiles that are available from the enabled OpenBenchmarking.org repositories where supported on the system and are of a verified state.</p>
<p>This option will list all test profiles that are available from the enabled OpenBenchmarking.org repositories where supported on the system and are of a verified state. If the system has no Internet access, it will only list the test profiles where the necesary test assets are available locally on the system or on an available network cache (the same behavior as using the list-cached-tests sub-command), unless using the list-all-tests option to override this behavior.</p>
<h3>list-available-virtual-suites<em> </em>
</h3>
<p>This option will list all available virtual test suites that can be dynamically created based upon the available tests from enabled OpenBenchmarking.org repositories.</p>
<h3>list-cached-tests<em> </em>
</h3>
<p>This option will list all test profiles where any needed test profiles are already cached or available from the local system under test. This is primarily useful if testing offline/behind-the-firewall and other use-cases where wanting to rely only upon local data.</p>
<h3>list-installed-dependencies<em> </em>
</h3>
<p>This option will list all of the packages / external test dependencies that are already installed on the system that the Phoronix Test Suite may potentially depend upon by test profiles.</p>
@@ -208,6 +226,12 @@
<h3>auto-sort-result-file<em> [Test Result]</em>
</h3>
<p>This option is used if you wish to automatically attempt to sort the results by their result identifier string.</p>
<h3>compare-results-to-baseline<em> [Test Result] [Test Result]</em>
</h3>
<p>This option will allows you to specify a result as a baseline (first parameter) and a second result file (second parameter) that will offer some analysis for showing how the second result compares to the first in matching tests.</p>
<h3>compare-results-two-way<em> [Test Result]</em>
</h3>
<p>This option will allows you to specify a result file and from there to compare two individual runs within that result file for looking at wins/losses and other metrics in a head-to-head type comparison.</p>
<h3>edit-result-file<em> [Test Result]</em>
</h3>
<p>This option is used if you wish to edit the title and description of an existing result file.</p>
@@ -220,12 +244,15 @@
<h3>refresh-graphs<em> [Test Result]</em>
</h3>
<p>This option will re-render and save all result graphs within a saved file. This option can be used when making modifications to the graphing code or its color/option configuration file and testing the changes.</p>
<h3>remove-from-result-file<em> [Test Result]</em>
</h3>
<p>This option is used if there is a set of test results you wish to remove/delete from a saved results file. The user must specify a saved results file and then they will be prompted to select the results identifier associated with the results they wish to remove.</p>
<h3>remove-result<em> [Test Result]</em>
</h3>
<p>This option will permanently remove the saved file set that is set as the first argument.</p>
<h3>remove-results-from-result-file<em> [Test Result]</em>
</h3>
<p>This option is used if there are test results (benchmarks) to be dropped from a given result file. The user must specify a saved results file and then they will be prompted to select the tests/benchmarks to remove.</p>
<h3>remove-run-from-result-file<em> [Test Result]</em>
</h3>
<p>This option is used if there is a set of test results you wish to remove/delete from a saved results file. The user must specify a saved results file and then they will be prompted to select the results identifier associated with the results they wish to remove.</p>
<h3>rename-identifier-in-result-file<em> [Test Result]</em>
</h3>
<p>This option is used if you wish to change the name of the identifier in a test results file that is shown in the Phoronix Test Suite Results Viewer and the contained graphs.</p>
@@ -235,6 +262,15 @@
<h3>reorder-result-file<em> [Test Result]</em>
</h3>
<p>This option is used if you wish to manually change the order in which test results are shown in the Phoronix Test Suite Results Viewer and the contained graphs. The user must specify a saved results file and then they will be prompted to select the results identifiers one at a time in the order they would like them to be displayed from left to right.</p>
<h3>result-file-confidence<em> [Test Result]</em>
</h3>
<p>This option will read a saved test results file and display various statistics on the confidence of the results with the standard deviation, three-sigma values, and other metrics while color-coding "passing" results in green.</p>
<h3>result-file-raw-to-csv<em> [Test Result]</em>
</h3>
<p>This option will read a saved test results file and output the raw result file run data to a CSV file. This raw (individual) result file output is intended for data analytic purposes where the result-file-to-csv is more end-user-ready.</p>
<h3>result-file-stats<em> [Test Result]</em>
</h3>
<p>This option is used if you wish to analyze a result file by seeing various statistics on the result data for result files containing at least two sets of data.</p>
<h3>result-file-to-csv<em> [Test Result]</em>
</h3>
<p>This option will read a saved test results file and output the system hardware and software information along with the results to a CSV output. The CSV (Comma Separated Values) output can then be loaded into a spreadsheet for easy viewing.</p>
@@ -250,7 +286,7 @@
<h3>show-result<em> [Test Result]</em>
</h3>
<p>Open up the test results in the Phoronix Test Suite Result Viewer or on OpenBenchmarking.org.</p>
<h3>winners-and-losers<em> [Test Result]</em>
<h3>wins-and-losses<em> [Test Result]</em>
</h3>
<p>This option is used if you wish to analyze a result file to see which runs produced the most wins/losses of those result identifiers in the saved file.</p>
<h1>Other</h1>
@@ -275,7 +311,7 @@
<h1>Modules</h1>
<h3>auto-load-module<em> </em>
</h3>
<p>This option can be used for easily adding a module to the LoadModules list in the Phoronix Test Suite user configuration file. That list controls what PTS modules are automatically loaded on start-up of the Phoronix Test Suite.</p>
<p>This option can be used for easily adding a module to the AutoLoadModules list in the Phoronix Test Suite user configuration file. That list controls what PTS modules are automatically loaded on start-up of the Phoronix Test Suite.</p>
<h3>list-modules<em> </em>
</h3>
<p>This option will list all of the available Phoronix Test Suite modules on this system.</p>
@@ -290,7 +326,7 @@
<p>This option can be used for debugging a Phoronix Test Suite module.</p>
<h3>unload-module<em> </em>
</h3>
<p>This option can be used for easily removing a module from the LoadModules list in the Phoronix Test Suite user configuration file. That list controls what modules are automatically loaded on start-up of the Phoronix Test Suite.</p>
<p>This option can be used for easily removing a module from the AutoLoadModules list in the Phoronix Test Suite user configuration file. That list controls what modules are automatically loaded on start-up of the Phoronix Test Suite.</p>
<h1>User Configuration</h1>
<h3>enterprise-setup<em> </em>
</h3>
@@ -307,13 +343,13 @@
<h3>user-config-set<em> </em>
</h3>
<p>This option can be used for setting an XML value in the Phoronix Test Suite user configuration file.</p>
<h1>Web / GUI Support</h1>
<h3>gui<em> </em>
</h3>
<p>Launch the Phoronix Test Suite HTML5 web user-interface in the local GUI mode (no remote web support) and attempt to auto-launch the web-browser. THIS FEATURE IS CURRENTLY EXPERIMENTAL AND NO LONGER ACTIVE DEVELOPMENT. See Phoronix Test Suite Phoromatic as an alternative web UI approach.</p>
<h1>Phoromatic</h1>
<h3>start-phoromatic-server<em> </em>
</h3>
<p>Start the Phoromatic web server for controlling local Phoronix Test Suite client systems to facilitate automated and repeated test orchestration and other automated features targeted at the enterprise.</p>
<h1>Result Viewer</h1>
<h3>start-result-viewer<em> </em>
</h3>
<p>Start the web-based result viewer.</p>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@@ -4,7 +4,7 @@
</head>
<body>
<h1>Setup Overview</h1>
<p>The Phoronix Test Suite supports Linux, Apple Mac OS X, Microsoft Windows, Solaris, Hurd, BSD, and other operating system environments. The only Linux distribution-specific code deals with the external dependencies support feature that are set by individual test profiles. If you are not running one of the supported Linux distributions, Solaris, BSD, or Mac OS X, you may need to install a package manually (as instructed by the Phoronix Test Suite) in order for a test to run. An example of an external dependency would be GCC and the OpenGL Utility Toolkit being needed for test profiles that build an OpenGL benchmark from source-code.</p>
<p>The Phoronix Test Suite supports Linux, Apple macOS, Microsoft Windows, Solaris, Hurd, BSD, and other operating system environments. The only Linux distribution-specific code deals with the external dependencies support feature that are set by individual test profiles. If you are not running one of the supported Linux distributions, Solaris, BSD, or macOS, you may need to install a package manually (as instructed by the Phoronix Test Suite) in order for a test to run. An example of an external dependency would be GCC and the OpenGL Utility Toolkit being needed for test profiles that build an OpenGL benchmark from source-code.</p>
<p>Among the distributions where the Phoronix Test Suite has been officially tested include Ubuntu, Fedora, Mandriva / Mageia, Gentoo, PCLinuxOS, Arch Linux, Pardus, OpenSuSE, Optware, webOS, Zenwalk, CentOS, Red Hat Enterprise Linux, Oracle Linux, Scientific Linux, Debian, Mint, MEPIS, Alpine Linux, Void Linux, Intel Clear Linux, and Amazon Linux EC2.</p>
<p>Among the tested BSD distributions are FreeBSD, PC-BSD, NetBSD, OpenBSD, Debian GNU/kFreeBSD, and DragonflyBSD. Tested Solaris distributions include OpenSolaris, Solaris Express 11, Oracle Solaris 11, OpenIndiana, Illumos, and Nexenta.</p>
<h1>Dependencies</h1>
@@ -37,10 +37,8 @@
<p>Running <em>install-sh</em> from the root directory of the Phoronix Test Suite will install the software for system-wide access. By default the <em>phoronix-test-suite</em> executable is in <em>/usr/bin/</em>, the Phoronix Test Suite files in <em>/usr/share/phoronix-test-suite/</em>, and the documentation in /<em>usr/share/doc/phoronix-test-suite/</em>. Root access is required. The default installation prefix is /usr/ but can be adjusted as the first argument (example: <em>install-sh /home/user/</em> to install the Phoronix Test Suite in your home directory).</p>
<h2>Debian/Ubuntu Installation</h2>
<p>Debian/Ubuntu users are able to follow the Generic Installation instructions or can obtain a Debian Package from the Phoronix Test Suite web-site. The package contains the <em>phoronix-test-suite</em> executable in <em>/usr/bin/</em>, the Phoronix Test Suite files in <em>/usr/share/phoronix-test-suite/</em>, and the documentation in <em>/usr/share/doc/phoronix-test-suite/</em>.</p>
<p>A phoronix-test-suite package can also be found in the official Ubuntu universe repository beginning with the Ubuntu 9.04 (Jaunty) release, but it may be out of date compared to the latest upstream version.</p>
<p>On Ubuntu 13.04 and newer if you experience an issue of system sensor monitoring not working, other multi-process tasks, or related issues reported as PHP PCNTL missing, the pcntl functions need to be removed from the <em>disable_functions</em> line within the <em>/etc/php5/cli/php.ini</em> file. This may also affect other Linux distribution support too if the vendor disables access to the PCNTL functions.</p>
<h2>Fedora / Red Hat Installation</h2>
<p>The Phoronix Test Suite can be installed on Fedora, Red Hat Enterprise Linux, and CentOS systems using the generic installation method. Alternatively, a <em>phoronix-test-suite</em> package is available in recent versions of the Fedora repository and in the EPEL (Extra Packages for Enterprise Linux) repository for Red Hat Enterprise Linux. At this time, however, the Fedora-supplied package is vastly out of date.</p>
<p>The Phoronix Test Suite can be installed on Fedora, Red Hat Enterprise Linux, and CentOS systems using the generic installation method. Alternatively, a <em>phoronix-test-suite</em> package is available in recent versions of the Fedora repository and in the EPEL (Extra Packages for Enterprise Linux) repository for Red Hat Enterprise Linux. However, at times this package may be out-of-date compared to upstream stable.</p>
<h2>Gentoo Installation</h2>
<p>Gentoo ebuild's for the Phoronix Test Suite have been created by users and can be currently found in the <a href="http://bugs.gentoo.org/show_bug.cgi?id=216656">Gentoo BugZilla</a>.</p>
<h2>Mandriva Installation</h2>
@@ -50,8 +48,8 @@
<h2>BSD Installation</h2>
<p>The Phoronix Test Suite also supports *BSD operating systems. However, like the Solaris support, not all test profiles are compatible with BSD operating systems, but pts-core has been tested against FreeBSD 7.x/8.x/9.x, NetBSD, PC-BSD 7/8/9, DragonFlyBSD 3.0/3.2/3.4/3.6/4.2, and OpenBSD 4.4/4.6. The Phoronix Test Suite will also work with Debian GNU/kFreeBSD.</p>
<p>For DragonFlyBSD, it's a matter of just using <em>pkg_radd</em> with php5, php5-json, php5-dom, and php5-zip or <em>pkgsrc</em>. With DragonFlyBSD using dports, the command is <em>pkg install php5 php5-dom php5-zip php5-json php5-simplexml</em>. Under FreeBSD/PC-BSD, PHP can be obtained from the <em>php5</em> and <em>php5-extensions</em> Ports collection.</p>
<h2>Mac OS X Installation</h2>
<p>The Phoronix Test Suite is fully supported on Apple's Mac OS X operating system as of Mac OS X 10.5 with improved support under Mac OS X 10.6. PHP ships with Mac OS X by default so it's simply a matter of downloading the Phoronix Test Suite package, extracting it, and running the executable. For tests that rely upon a compiler, Apple's XCode with GCC and LLVM can be utilized.</p>
<h2>MacOS Installation</h2>
<p>The Phoronix Test Suite is fully supported on Apple's macOS operating system. PHP ships with macOS by default so it's simply a matter of downloading the Phoronix Test Suite package, extracting it, and running the executable. For tests that rely upon a compiler, Apple's XCode with GCC and LLVM can be utilized.</p>
<h2>Windows Installation</h2>
<p>The Phoronix Test Suite support on Microsoft Windows is in development and will function just fine, but is not yet feature complete compared to the other operating systems support. Only a small subset of test profiles, mostly related to graphics, are supported. In terms of the version support, right now the Phoronix Test Suite is developed and tested solely against Microsoft Windows 7 x64 and Microsoft Windows 8 x64.</p>
<p>At this time the Phoronix Test Suite client is dependent upon the <em>php.exe</em> executable being installed to <em>C:\Program Files (x86)\PHP\ </em> or one of its subdirectories (see PHP installation notes above). Once this requirement is met, simply download the Phoronix Test Suite package, extract it to a directory of your choice, and run <em>phoronix-test-suite.bat</em></p>

View File

@@ -1 +1,10 @@
<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>External Dependencies</title></head><body><p>The Phoronix Test Suite has a feature known as "External Dependencies" where the Phoronix Test Suite can attempt to automatically install some of the test-specific dependencies on supported distributions. If running on a distribution where there is currently no External Dependencies profile, the needed package name(s) are listed for manual installation.</p><p>Below are a list of the operating systems that currently have external dependencies support within the Phoronix Test Suite for the automatic installation of needed test files.<hr><ul></ul><li>Alpine Linux</li><li>Amazon</li><li>Angstrom</li><li>Arch Linux</li><li>CentOS</li><li>ClearOS</li><li>ClearOS Core Server</li><li>Debian</li><li>DragonFlyBSD</li><li>Fedora</li><li>Fluxbuntu</li><li>GNU KFreeBSD</li><li>Gentoo</li><li>Goobuntu</li><li>HP</li><li>Joli Cloud</li><li>Linaro</li><li>Linux Embedded Development Environment</li><li>Linux Mint</li><li>MEPIS</li><li>Mac OS X</li><li>MacPorts</li><li>Mageia</li><li>Mandriva</li><li>MeeGo</li><li>Microsoft Windows</li><li>MidnightBSD</li><li>Moblin</li><li>Mythbuntu</li><li>NetBSD</li><li>Nexenta Core</li><li>OLPC</li><li>OpenIndiana</li><li>OpenMandriva</li><li>OpenSolaris</li><li>OpenSuSE</li><li>Optware</li><li>Oracle Server</li><li>PCLinuxOS</li><li>PTS Desktop Live</li><li>PTS Linux Live</li><li>Palm</li><li>Pardus Linux</li><li>Red Hat Enterprise</li><li>Red Hat Enterprise Server</li><li>SUSE</li><li>SUSE Linux</li><li>Scientific</li><li>ScientificSL</li><li>Solus</li><li>Solus Linux</li><li>Termux</li><li>Ubuntu</li><li>Void Linux</li><li>Zenwalk</li><li>gNewSense</li><li>macOS Brew</li></p></body></html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>External Dependencies</title>
</head>
<body>
<p>The Phoronix Test Suite has a feature known as "External Dependencies" where the Phoronix Test Suite can attempt to automatically install some of the test-specific dependencies on supported distributions. If running on a distribution where there is currently no External Dependencies profile, the needed package name(s) are listed for manual installation.</p>
<p>Below are a list of the operating systems that currently have external dependencies support within the Phoronix Test Suite for the automatic installation of needed test files.<hr><ul></ul><li>Alpine Linux</li><li>Amazon</li><li>Angstrom</li><li>Arch Linux</li><li>CentOS</li><li>ClearOS</li><li>ClearOS Core Server</li><li>Debian</li><li>DragonFlyBSD</li><li>Fedora</li><li>Fluxbuntu</li><li>GNU KFreeBSD</li><li>Gentoo</li><li>Goobuntu</li><li>HP</li><li>Joli Cloud</li><li>Linaro</li><li>Linux Embedded Development Environment</li><li>Linux Mint</li><li>MEPIS</li><li>Mac OS X</li><li>MacPorts</li><li>Mageia</li><li>Mandriva</li><li>MeeGo</li><li>Microsoft Windows</li><li>MidnightBSD</li><li>Moblin</li><li>Mythbuntu</li><li>NetBSD</li><li>Nexenta Core</li><li>OLPC</li><li>OpenIndiana</li><li>OpenMandriva</li><li>OpenMandrivaLinux</li><li>OpenSolaris</li><li>OpenSuSE</li><li>Optware</li><li>Oracle Server</li><li>PCLinuxOS</li><li>PTS Desktop Live</li><li>PTS Linux Live</li><li>Palm</li><li>Pardus Linux</li><li>Red Hat Enterprise</li><li>Red Hat Enterprise Server</li><li>SUSE</li><li>SUSE Linux</li><li>Scientific</li><li>ScientificSL</li><li>Solus</li><li>Solus Linux</li><li>Termux</li><li>Ubuntu</li><li>Void Linux</li><li>Zenwalk</li><li>gNewSense</li><li>macOS Brew</li></p>
</body>
</html>

View File

@@ -55,8 +55,14 @@
<p>When running any test(s), if you would like the test(s) to continue running for a number of times, this variable can be used. The value should be the number of times to loop the testing process before ending.</p>
<p><strong>FORCE_TIMES_TO_RUN</strong></p>
<p>If you wish to override the number of times to run each test -- rather than the Phoronix Test Suite using the number of times specified in each test profile -- this variable can be used.</p>
<p><strong>FORCE_TIMES_TO_RUN_MULTIPLE</strong></p>
<p>This option allows specifying a multiple for increasing the number of times a test will run based upon the original TimesToRun value specified in the test definition. This allows for increasing the expected times to run based on a multiple of that default rather than a static value.</p>
<p><strong>FORCE_MIN_TIMES_TO_RUN</strong></p>
<p>This is similar to the FORCE_TIMES_TO_RUN option but will only be used if the test profile's run count is less than this defined value.</p>
<p><strong>FORCE_MIN_TIMES_TO_RUN_CUTOFF</strong></p>
<p>When used in conjunction with FORCE_MIN_TIMES_TO_RUN, the override value will only be applied to test profiles where its average run-time length (in minutes) is less than the value specified by FORCE_MIN_TIMES_TO_RUN_CUTOFF.</p>
<p><strong>IGNORE_RUNS</strong></p>
<p>IGNORE_RUNS can be passed a comma-separated list of runs to skip on each benchmark. For example, IGNORE_RUNS=1 would always drop the first run from being recorded.</p>
<p><strong>NO_FILE_HASH_CHECKS</strong></p>
<p>To disable MD5/SHA256 check-sums from being checked when downloading test files, set this variable to 1. This variable used to be known as <em>NO_MD5_CHECKS</em>, which is still honored but was changed to <em>NO_FILE_HASH_CHECKS</em> to reflect other kind of file hash sum checks.</p>
<p><strong>NO_HTTPS</strong></p>

File diff suppressed because one or more lines are too long

View File

@@ -2,17 +2,17 @@ The Phoronix Test Suite itself is an open-source framework for conducting automa
This framework is designed to be an extensible architecture so that new test profiles and suites can be easily added to represent performance benchmarks, unit tests, and other quantitative and qualitative (e.g. image quality comparison) measurements. Available through OpenBenchmarking.org, a collaborative storage platform developed in conjunction with the Phoronix Test Suite, are more than 200 individual test profiles and more than 60 test suites available by default from the Phoronix Test Suite. Independent users are also able to upload their test results, profiles, and suites to OpenBenchmarking.org. A test profile is a single test that can be executed by the Phoronix Test Suite -- with a series of options possible within every test -- and a test suite is a seamless collection of test profiles and/or additional test suites. A test profile consists of a set of Bash/shell scripts and XML files while a test suite is a single XML file.
[OpenBenchmarking.org](http://www.openbenchmarking.org/) also allows for conducting side-by-side result comparisons, a central location for storing and sharing test results, and collaborating over test data. [Phoromatic](http://www.phoromatic.com/) is a complementary platform to OpenBenchmarking.org and the Phoronix Test Suite for interfacing with Phoronix Test Suite client(s) to automatically execute test runs on a timed, per-commit, or other trigger-driven basis. Phoromatic is designed for enterprise and allows for the easy management of multiple networked systems running Phoronix Test Suite clients via a single web-based interface.
[OpenBenchmarking.org](https://www.openbenchmarking.org/) also allows for conducting side-by-side result comparisons, a central location for storing and sharing test results, and collaborating over test data. [Phoromatic](https://www.phoromatic.com/) is a complementary platform to OpenBenchmarking.org and the Phoronix Test Suite for interfacing with Phoronix Test Suite client(s) to automatically execute test runs on a timed, per-commit, or other trigger-driven basis. Phoromatic is designed for enterprise and allows for the easy management of multiple networked systems running Phoronix Test Suite clients via a single web-based interface.
Professional support and custom engineering for the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org is available by contacting <http://www.phoronix-test-suite.com/>.
Professional support and custom engineering for the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org is available by contacting <https://www.phoronix-test-suite.com/>.
Full details on the Phoronix Test Suite setup and usage is available from the included HTML/PDF documentation within the phoronix-test-suite package and from the Phoronix Test Suite website.
## Installation & Setup
The Phoronix Test Suite is supported on Linux, *BSD, Solaris, Mac OS X, and Windows systems. However, the most full-featured and well supported operating system for conducting the tests is Linux with some non-basic functionality not being available under all platforms. The Phoronix Test Suite software/framework is compatible with all major CPU architectures (e.g. i686, x86_64, ARM, PowerPC), but not all of the test profiles/suites are compatible with all architectures.
The Phoronix Test Suite is supported on Linux, *BSD, Solaris, macOS, and Windows systems. However, the most full-featured and well supported operating system for conducting the tests is Linux with some non-basic functionality not being available under all platforms. The Phoronix Test Suite software/framework is compatible with all major CPU architectures (e.g. i686, x86_64, ARM, RISC-V, PowerPC), but not all of the test profiles/suites are compatible with all architectures.
The Phoronix Test Suite can be installed for system-wide usage or run locally without installation from the extracted tar.gz/zip package. The only hard dependency on the Phoronix Test Suite is having command-line support for PHP (PHP 5.3+) installed. A complete PHP stack (e.g. with web server) is **not** needed, but merely the PHP command-line support, which is widely available from operating system package managers under the name `php`, `php5-cli`, or `php5`.
The Phoronix Test Suite can be installed for system-wide usage or run locally without installation from the extracted tar.gz/zip package. The only hard dependency on the Phoronix Test Suite is having command-line support for PHP (PHP 5.3+) installed. A complete PHP stack (e.g. with web server) is **not** needed, but merely the PHP command-line support, which is widely available from operating system package managers under the name `php`, `php7-cli`, `php5-cli`, or `php7`.
## Usage
@@ -20,6 +20,6 @@ The process to download, install/setup, execute, and report the results of a ben
Viewing installed system hardware and software is available via `phoronix-test-suite system-info`.
Facilitating a result comparison from OpenBenchmarking.org can be done by running, for example, `phoronix-test-suite benchmark 1204293-BY-PHORONIX357` if wishing to compare the results of the `http://openbenchmarking.org/result/1204293-BY-PHORONIX357` result file.
Facilitating a result comparison from OpenBenchmarking.org can be done by running, for example, `phoronix-test-suite benchmark 1204293-BY-PHORONIX357` if wishing to compare the results of the `https://openbenchmarking.org/result/1204293-BY-PHORONIX357` result file.
Additional information is available from the Phoronix Test Suite website <http://www.phoronix-test-suite.com/> and the material bundled within the `phoronix-test-suite/documentation/` directory or via <http://www.phoronix-test-suite.com/documentation/>. A man page is also bundled with the phoronix-test-suite software.
Additional information is available from the Phoronix Test Suite website <https://www.phoronix-test-suite.com/> and the material bundled within the `phoronix-test-suite/documentation/` directory or via <https://www.phoronix-test-suite.com/documentation/>. A man page is also bundled with the phoronix-test-suite software.

View File

@@ -2,7 +2,7 @@
# Phoronix Test Suite
# URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
# Copyright (C) 2008 - 2018, Phoronix Media
# Copyright (C) 2008 - 2019, Phoronix Media
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@@ -3,8 +3,8 @@
#
# Phoronix Test Suite
# URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
# Copyright (C) 2008 - 2018, Phoronix Media
# Copyright (C) 2008 - 2018, Michael Larabel
# Copyright (C) 2008 - 2019, Phoronix Media
# Copyright (C) 2008 - 2019, Michael Larabel
# phoronix-test-suite: The Phoronix Test Suite is an extensible open-source testing / benchmarking platform
#
# This program is free software; you can redistribute it and/or modify
@@ -21,6 +21,12 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
if which sed >/dev/null 2>&1 ;
then
# Remove the current dir from PATH if present, as it causes infinitely resursive shell scripts.
PATH="`echo $PATH | sed -e s/:[\.]:/:/g -e s/:[\.]// -e s/[\.]://`"
fi
# Full path to root directory of the actual Phoronix Test Suite code
# export PTS_DIR=$(readlink -f `dirname $0`)
export PTS_DIR=`pwd`
@@ -53,18 +59,12 @@ then
elif [ -x /usr/bin/php7 ] || [ -x /usr/local/bin/php7 ] || [ -x /usr/pkg/bin/php7 ]
then
export PHP_BIN="php7"
elif [ -x /usr/bin/php5 ] || [ -x /usr/local/bin/php5 ] || [ -x /usr/pkg/bin/php5 ]
then
export PHP_BIN="php5"
elif [ -x /usr/bin/php ] || [ -x /usr/pkg/bin/php ]
then
export PHP_BIN="php"
elif [ -x /usr/php7/bin/php ]
then
export PHP_BIN="/usr/php7/bin/php"
elif [ -x /usr/php5/bin/php ]
then
export PHP_BIN="/usr/php5/bin/php"
elif [ -x /usr/php/bin/php ]
then
export PHP_BIN="/usr/php/bin/php"
@@ -92,6 +92,12 @@ then
elif which php7 >/dev/null 2>&1 ;
then
export PHP_BIN="php7"
elif [ -x /usr/php5/bin/php ]
then
export PHP_BIN="/usr/php5/bin/php"
elif [ -x /usr/bin/php5 ] || [ -x /usr/local/bin/php5 ] || [ -x /usr/pkg/bin/php5 ]
then
export PHP_BIN="php5"
elif which php5 >/dev/null 2>&1 ;
then
export PHP_BIN="php5"
@@ -113,9 +119,9 @@ if [ "X$PHP_BIN" = "X" ]
then
cat <<'EOT'
PHP 5.3 or newer or PHP 7 must be installed for the Phoronix Test Suite
The PHP command-line package is commonly called php-cli, php5-cli, or php.
For more information visit: http://www.phoronix-test-suite.com/
PHP must be installed for the Phoronix Test Suite
The PHP command-line package is commonly called php-cli, php7-cli, or php.
For more information visit: https://www.phoronix-test-suite.com/
EOT
@@ -123,7 +129,7 @@ if [ -x /usr/bin/zypper ]
then
# SUSE / OpenSUSE
echo "The command to likely run for your operating system is: "
echo "# zypper install php7 php7-zip"
echo "# zypper install php7 php7-zip php7-openssl"
echo " "
elif [ -x /usr/bin/apt-get ]
then
@@ -135,7 +141,7 @@ elif [ -x /usr/bin/dnf ]
then
# Modern Fedora
echo "The command to likely run for your operating system is: "
echo "# dnf install php-cli php-xml"
echo "# dnf install php-cli php-xml php-json"
echo " "
elif [ -x /usr/bin/yum ]
then
@@ -147,7 +153,7 @@ elif [ -x /usr/bin/pkg_radd ]
then
# BSD
echo "The command to likely run for your operating system is: "
echo "# pkg_radd php5 php5-json php5-zip php5-dom"
echo "# pkg_radd php7 php7-json php7-zip php7-dom"
echo " "
elif [ -x /usr/bin/pacman ]
then
@@ -159,9 +165,9 @@ elif [ -x /usr/local/sbin/pkg ] || [ -x /usr/sbin/pkg ]
then
# DragonFlyBSD and others
echo "The command to likely run for your operating system is: "
echo "# pkg install php72 php72-dom php72-zip php72-json php72-simplexml php72-openssl"
echo "# pkg install php73 php73-dom php73-zip php73-json php73-simplexml php73-openssl"
echo " "
elif [ -x /usr/local/swupd ]
elif [ -x /usr/bin/swupd ]
then
# Clear Linux
echo "The command to likely run for your operating system is: "
@@ -195,7 +201,7 @@ elif [ -x /sbin/apk ]
then
# Alpine Linux
echo "The command to likely run for your operating system is: "
echo "# apk add php5 php5-dom php5-zip php5-json"
echo "# apk add php7 php7-dom php7-zip php7-json php7-simplexml"
echo " "
elif [ -x /usr/bin/urpmi ]
then
@@ -213,7 +219,7 @@ elif [ -x /usr/sbin/mport ]
then
# MidnightBSD
echo "The command to likely run for your operating system is: "
echo "# mport install php70 php70-dom php70-zip php70-json php70-simplexml"
echo "# mport install php71 php71-dom php71-zip php71-json php71-simplexml"
echo " "
elif [ -x /bin/opkg ]
then
@@ -249,7 +255,7 @@ then
cat <<'EOT'
To run the Phoronix Test Suite locally you must first change directories to phoronix-test-suite/
or install the program using the install-sh script. For support visit: http://www.phoronix-test-suite.com/
or install the program using the install-sh script. For support visit: https://www.phoronix-test-suite.com/
EOT
exit

View File

@@ -1,7 +1,7 @@
:: Phoronix Test Suite
:: URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
:: Copyright (C) 2008 - 2018, Phoronix Media
:: Copyright (C) 2008 - 2018, Michael Larabel
:: Copyright (C) 2008 - 2019, Phoronix Media
:: Copyright (C) 2008 - 2019, Michael Larabel
:: phoronix-test-suite: The Phoronix Test Suite is an extensible open-source testing / benchmarking platform
::
:: This program is free software; you can redistribute it and/or modify
@@ -24,6 +24,11 @@ set PTS_DIR=%~dp0
set PTS_MODE=CLIENT
set PTS_LAUNCHER=%0
:: See if php was setup via Cygwin64, the benefit there is allowing access to PCNTL extensions, etc
:: If exist C:\cygwin64\bin\php.exe (
:: set PHP_BIN=C:\cygwin64\bin\php.exe
:: )
:: TODO: Other work to bring this up to sync with the *NIX phoronix-test-suite launcher
If defined PHP_BIN goto SkipBinSearch

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2017, Phoronix Media
Copyright (C) 2017, Michael Larabel
Copyright (C) 2017 - 2019, Phoronix Media
Copyright (C) 2017 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,11 +23,11 @@
class auto_load_module implements pts_option_interface
{
const doc_section = 'Modules';
const doc_description = 'This option can be used for easily adding a module to the LoadModules list in the Phoronix Test Suite user configuration file. That list controls what PTS modules are automatically loaded on start-up of the Phoronix Test Suite.';
const doc_description = 'This option can be used for easily adding a module to the AutoLoadModules list in the Phoronix Test Suite user configuration file. That list controls what PTS modules are automatically loaded on start-up of the Phoronix Test Suite.';
public static function run($r)
{
$loaded_modules = pts_strings::comma_explode(pts_config::read_user_config('PhoronixTestSuite/Options/Modules/LoadModules', null));
$loaded_modules = pts_strings::comma_explode(pts_config::read_user_config('PhoronixTestSuite/Options/Modules/AutoLoadModules', null));
$available_modules = pts_module_manager::list_available_modules();
echo PHP_EOL . 'Currently Loaded Modules: ' . PHP_EOL;
echo pts_user_io::display_text_list($loaded_modules);
@@ -59,7 +59,7 @@ class auto_load_module implements pts_option_interface
}
}
$new_options = array('PhoronixTestSuite/Options/Modules/LoadModules' => implode(', ', $loaded_modules));
$new_options = array('PhoronixTestSuite/Options/Modules/AutoLoadModules' => implode(', ', $loaded_modules));
pts_config::user_config_generate($new_options);
echo PHP_EOL . 'New user configuration file written.' . PHP_EOL . PHP_EOL;
}

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2014 - 2018, Phoronix Media
Copyright (C) 2014 - 2018, Michael Larabel
Copyright (C) 2014 - 2019, Phoronix Media
Copyright (C) 2014 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -48,7 +48,7 @@ class auto_sort_result_file implements pts_option_interface
sort($result_file_identifiers);
$result_file->reorder_runs($result_file_identifiers);
pts_client::save_test_result($result_file->get_file_location(), $result_file->get_xml());
pts_client::display_web_page(PTS_SAVE_RESULTS_PATH . $args[0] . '/index.html');
pts_client::display_result_view($result_file, false);
}
}

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2017, Phoronix Media
Copyright (C) 2008 - 2017, Michael Larabel
Copyright (C) 2008 - 2019, Phoronix Media
Copyright (C) 2008 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -33,9 +33,10 @@ class build_suite implements pts_option_interface
$suite_test_type = pts_user_io::prompt_text_menu('Select test type', pts_types::subsystem_targets());
$suite_maintainer = pts_user_io::prompt_user_input('Enter suite maintainer name');
$suite_description = pts_user_io::prompt_user_input('Enter suite description');
$bind_versions = pts_user_io::prompt_bool_input('Bind current test profile versions to test suite');
$possible_suites = pts_openbenchmarking::available_suites();
$possible_tests = pts_openbenchmarking::available_tests();
$possible_suites = pts_openbenchmarking::available_suites(false);
$possible_tests = pts_openbenchmarking::available_tests(false);
$new_suite = new pts_test_suite();
$new_suite->set_title($suite_name);
@@ -92,7 +93,7 @@ class build_suite implements pts_option_interface
}
while($input_option != 'Save & Exit');
if($new_suite->save_xml($suite_name) != false)
if($new_suite->save_xml($suite_name, null, $bind_versions) != false)
{
echo PHP_EOL . PHP_EOL . 'Saved -- to run this suite, type: phoronix-test-suite benchmark ' . $new_suite->get_identifier() . PHP_EOL . PHP_EOL;
}

View File

@@ -0,0 +1,65 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2019, Phoronix Media
Copyright (C) 2008 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class compare_results_to_baseline implements pts_option_interface
{
const doc_section = 'Result Management';
const doc_description = 'This option will allows you to specify a result as a baseline (first parameter) and a second result file (second parameter) that will offer some analysis for showing how the second result compares to the first in matching tests.';
public static function argument_checks()
{
return array(
new pts_argument_check(0, array('pts_types', 'is_result_file'), null),
new pts_argument_check(1, array('pts_types', 'is_result_file'), null)
);
}
public static function run($r)
{
if(count($r) != 2)
{
echo PHP_EOL . 'Two results must be specified: phoronix-test-suite compare-results-to-baseline <baseline result file> <compare result file>' . PHP_EOL;
return false;
}
$baseline = new pts_result_file($r[0]);
echo 'Baseline: ' . $baseline->get_identifier() . PHP_EOL;
if(count($baseline->get_system_identifiers()) != 1)
{
echo PHP_EOL . 'This feature requires only one system/result to be present in the result file.' . PHP_EOL;
return false;
}
$baseline->rename_run(null, 'Baseline');
$result = new pts_result_file($r[1]);
echo 'Result: ' . $result->get_identifier() . PHP_EOL;
if(count($result->get_system_identifiers()) != 1)
{
echo PHP_EOL . 'This feature requires only one system/result to be present in the result file.' . PHP_EOL;
return false;
}
$result->rename_run(null, 'Result');
$baseline->add_to_result_file($result, true);
echo pts_result_file_analyzer::display_results_baseline_two_way_compare($baseline, false, true);
}
}
?>

View File

@@ -0,0 +1,131 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2019, Phoronix Media
Copyright (C) 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class compare_results_two_way implements pts_option_interface
{
const doc_section = 'Result Management';
const doc_description = 'This option will allows you to specify a result file and from there to compare two individual runs within that result file for looking at wins/losses and other metrics in a head-to-head type comparison.';
static $longest_identifier = 0;
public static function argument_checks()
{
return array(
new pts_argument_check(0, array('pts_types', 'is_result_file'), null),
);
}
protected static function sort_two_way_data_desc($a, $b)
{
self::$longest_identifier = max(self::$longest_identifier, strlen($a[0]->test_profile->get_title()), strlen($b[0]->test_profile->get_title()), strlen($a[0]->get_arguments_description()), strlen($b[0]->get_arguments_description()));
$a = $a[1];
$b = $b[1];
if($a == $b) return 0;
return $a > $b ? -1 : 1;
}
protected static function sort_two_way_data_asc($a, $b)
{
$a = $a[1];
$b = $b[1];
if($a == $b) return 0;
return $a < $b ? -1 : 1;
}
public static function run($r)
{
$result_file = new pts_result_file($r[0]);
$result_file_identifiers = $result_file->get_system_identifiers();
if(count($result_file_identifiers) < 2)
{
echo PHP_EOL . 'There must be at least two systems in the result file.' . PHP_EOL . PHP_EOL;
return false;
}
$first_run = pts_user_io::prompt_text_menu('Select the first test run for head-to-head/two-way comparison', $result_file_identifiers, false);
unset($result_file_identifiers[array_search($first_run, $result_file_identifiers)]);
$second_run = pts_user_io::prompt_text_menu('Select the second test run for head-to-head/two-way comparison', $result_file_identifiers, false);
$wins = array();
$losses = array();
$too_close = array();
foreach($result_file->get_result_objects() as $ro)
{
$ro->set_result_precision(3);
if($ro->normalize_buffer_values($first_run) == false)
{
continue;
}
$first_run_result = $ro->get_result_value_from_name($first_run);
if(empty($first_run_result) || !is_numeric($first_run_result))
{
continue;
}
$second_run_result = $ro->get_result_value_from_name($second_run);
if(empty($second_run_result) || !is_numeric($second_run_result))
{
continue;
}
if($second_run_result > 1.01)
{
$wins[] = array($ro, $second_run_result);
}
else if($second_run_result < 0.99)
{
$losses[] = array($ro, $second_run_result);
}
else
{
$too_close[] = array($ro, $second_run_result);
}
}
usort($wins, array('compare_results_two_way', 'sort_two_way_data_desc'));
usort($losses, array('compare_results_two_way', 'sort_two_way_data_desc'));
// , $second_run . pts_client::cli_colored_text(' Draws', 'gray', true) => $too_close
echo pts_client::cli_just_bold($second_run . ' vs. ' . $first_run . ' Baseline') . PHP_EOL . PHP_EOL;
foreach(array(pts_client::cli_colored_text($second_run . ' Wins', 'green', true) => $wins, pts_client::cli_colored_text($second_run . ' Losses', 'red', 'true') => $losses) as $group => $data)
{
echo $group . PHP_EOL;
foreach($data as $result_data)
{
echo pts_client::cli_just_bold($result_data[0]->test_profile->get_title()) . str_repeat(' ', self::$longest_identifier - strlen($result_data[0]->test_profile->get_title())) . ' ' . $result_data[1] . 'x' . PHP_EOL;
if($result_data[0]->get_arguments_description() != null)
{
echo pts_client::cli_just_italic($result_data[0]->get_arguments_description()) . PHP_EOL;
}
}
echo pts_client::cli_just_underline(count($data) . ' Results') . PHP_EOL . PHP_EOL;
}
return;
echo pts_result_file_analyzer::display_results_baseline_two_way_compare($baseline, false, true);
}
}
?>

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2009 - 2015, Phoronix Media
Copyright (C) 2009 - 2015, Michael Larabel
Copyright (C) 2009 - 2019, Phoronix Media
Copyright (C) 2009 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -40,7 +40,10 @@ class debug_benchmark implements pts_option_interface
// Make sure you're debugging the latest test script...
pts_test_installer::standard_install($r);
// For debugging, usually running just once is sufficient, unless FORCE_TIMES_TO_RUN is preset
pts_client::pts_set_environment_variable('FORCE_TIMES_TO_RUN', 1);
if(getenv('FORCE_TIMES_TO_RUN') == null)
{
pts_client::pts_set_environment_variable('FORCE_TIMES_TO_RUN', 1);
}
// Run the test(s) in debug mode
pts_client::set_debug_mode(true);
$test_run_manager = new pts_test_run_manager();

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2013 - 2018, Phoronix Media
Copyright (C) 2013 - 2018, Michael Larabel
Copyright (C) 2013 - 2019, Phoronix Media
Copyright (C) 2013 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -68,7 +68,7 @@ class debug_self_test implements pts_option_interface
$longest_c = max(array_map('strlen', array_keys($individual_times)));
foreach($individual_times as $component => $times)
{
echo strtoupper($component) . ': ' . (str_repeat(' ', $longest_c - strlen($component))) . pts_math::set_precision(round(array_sum($times) / count($times), 3), 3) . ' seconds' . PHP_EOL;
echo strtoupper($component) . ': ' . (str_repeat(' ', $longest_c - strlen($component))) . pts_math::set_precision(round(pts_math::arithmetic_mean($times), 3), 3) . ' seconds' . PHP_EOL;
}
echo PHP_EOL . 'TOTAL ELAPSED TIME: ' . (str_repeat(' ', $longest_c - strlen('ELAPSED TIME'))) . round($finish - $start, 3) . ' seconds';

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2010 - 2018, Phoronix Media
Copyright (C) 2010 - 2018, Michael Larabel
Copyright (C) 2010 - 2019, Phoronix Media
Copyright (C) 2010 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -39,6 +39,8 @@ class debug_test_download_links implements pts_option_interface
foreach($test_profile->get_downloads() as $test_file_download)
{
$successes = 0;
$fails = 0;
foreach($test_file_download->get_download_url_array() as $url)
{
$stream_context = pts_network::stream_context_create();
@@ -49,12 +51,17 @@ class debug_test_download_links implements pts_option_interface
if($file_pointer == false)
{
echo PHP_EOL . 'BAD URL: ' . $test_file_download->get_filename() . ' / ' . $url . PHP_EOL;
$fails++;
}
else
{
$successes++;
@fclose($file_pointer);
}
}
if($fails && $successes == 0)
{
echo PHP_EOL . pts_client::cli_just_bold('No mirrors for: ' . $test_file_download->get_filename()) . PHP_EOL;
}
}
}

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2014, Phoronix Media
Copyright (C) 2008 - 2014, Michael Larabel
Copyright (C) 2008 - 2018, Phoronix Media
Copyright (C) 2008 - 2018, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -34,18 +34,18 @@ class diagnostics implements pts_option_interface
continue;
}
echo $constant . ' = ' . $constant_value . PHP_EOL;
echo pts_client::cli_just_bold($constant) . ' = ' . $constant_value . PHP_EOL;
}
echo PHP_EOL . 'Variables That Can Be Used As Result Identifiers / File Names:' . PHP_EOL;
foreach(pts_client::user_run_save_variables() as $var => $var_value)
{
echo $var . ' = ' . $var_value . PHP_EOL;
echo pts_client::cli_just_bold($var) . ' = ' . $var_value . PHP_EOL;
}
echo PHP_EOL . 'Environmental Variables (accessible via test scripts):' . PHP_EOL;
foreach(pts_client::environmental_variables() as $var => $var_value)
{
echo $var . ' = ' . $var_value . PHP_EOL;
echo pts_client::cli_just_bold($var) . ' = ' . $var_value . PHP_EOL;
}
echo PHP_EOL;
}

View File

@@ -0,0 +1,51 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2013 - 2018, Phoronix Media
Copyright (C) 2013 - 2018, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class dry_run implements pts_option_interface
{
const doc_section = 'Batch Testing';
const doc_description = 'This option and its arguments pre-set the Phoronix Test Suite batch run mode with enforcing of defaults to not save any results and other behavior intended for a dry/test run. This option is primarily intended for testing/evaluation purposes.';
public static function argument_checks()
{
return array(
new pts_argument_check('VARIABLE_LENGTH', array('pts_types', 'identifier_to_object'), null)
);
}
public static function run($r)
{
pts_test_installer::standard_install($r);
$test_run_manager = new pts_test_run_manager(array(
'UploadResults' => false,
'SaveResults' => false,
'PromptForTestDescription' => false,
'RunAllTestCombinations' => false,
'PromptSaveName' => false,
'PromptForTestIdentifier' => false,
'OpenBrowser' => false
));
$test_run_manager->standard_run($r);
}
}
?>

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2010 - 2018, Phoronix Media
Copyright (C) 2010 - 2018, Michael Larabel
Copyright (C) 2010 - 2019, Phoronix Media
Copyright (C) 2010 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -28,9 +28,9 @@ class dump_documentation implements pts_option_interface
$html_doc = new pts_html_template(pts_core::program_title(false), 'Test Client Documentation');
$pdf->AddPage();
$pdf->Image(PTS_CORE_STATIC_PATH . 'images/pts-308x160.png', 69, 85, 73, 38, 'PNG', 'http://www.phoronix-test-suite.com/');
$pdf->Image(PTS_CORE_STATIC_PATH . 'images/pts-308x160.png', 69, 85, 73, 38, 'PNG', 'https://www.phoronix-test-suite.com/');
$pdf->Ln(120);
$pdf->WriteStatement('www.phoronix-test-suite.com', 'C', 'http://www.phoronix-test-suite.com/');
$pdf->WriteStatement('www.phoronix-test-suite.com', 'C', 'https://www.phoronix-test-suite.com/');
$pdf->Ln(15);
$pdf->WriteBigHeaderCenter(pts_core::program_title(true));
$pdf->WriteHeaderCenter('User Manual');
@@ -85,6 +85,7 @@ class dump_documentation implements pts_option_interface
// Write the module options HTML
$dom = new DOMDocument();
$dom->formatOutput = true;
$html = $dom->createElement('html');
$dom->appendChild($html);
$head = $dom->createElement('head');
@@ -94,7 +95,7 @@ class dump_documentation implements pts_option_interface
$body = $dom->createElement('body');
$html->appendChild($body);
$p = $dom->createElement('p', 'The following list is the modules included with the Phoronix Test Suite that are intended to extend the functionality of pts-core. Some of these options have commands that can be run directly in a similiar manner to the other Phoronix Test Suite user commands. Some modules are just meant to be loaded directly by adding the module name to the LoadModules tag in ~/.phoronix-test-suite/user-config.xml or via the PTS_MODULES environment variable. A list of available modules is also available by running ');
$p = $dom->createElement('p', 'The following list is the modules included with the Phoronix Test Suite that are intended to extend the functionality of pts-core. Some of these options have commands that can be run directly in a similiar manner to the other Phoronix Test Suite user commands. Some modules are just meant to be loaded directly by adding the module name to the AutoLoadModules tag in ~/.phoronix-test-suite/user-config.xml or via the PTS_MODULES environment variable. A list of available modules is also available by running ');
$em = $dom->createElement('em', 'phoronix-test-suite list-modules.');
$p->appendChild($em);
$phr = $dom->createElement('hr');
@@ -138,6 +139,7 @@ class dump_documentation implements pts_option_interface
// Write the external dependencies HTML
$dom = new DOMDocument();
$dom->formatOutput = true;
$html = $dom->createElement('html');
$dom->appendChild($html);
$head = $dom->createElement('head');
@@ -173,6 +175,7 @@ class dump_documentation implements pts_option_interface
// Write the virtual suites HTML
$dom = new DOMDocument();
$dom->formatOutput = true;
$html = $dom->createElement('html');
$dom->appendChild($html);
$head = $dom->createElement('head');
@@ -250,7 +253,7 @@ class dump_documentation implements pts_option_interface
$man_page .= '.B ' . trim($option[0] . ' ' . (!empty($option[1]) && is_array($option[1]) ? implode(' ', $option[1]) : null)) . PHP_EOL . $option[2] . PHP_EOL . '.TP' . PHP_EOL;
}
}
$man_page .= '.SH SEE ALSO' . PHP_EOL . '.B Websites:' . PHP_EOL . '.br' . PHP_EOL . 'http://www.phoronix-test-suite.com/' . PHP_EOL . '.br' . PHP_EOL . 'http://commercial.phoronix-test-suite.com/' . PHP_EOL . '.br' . PHP_EOL . 'http://www.openbenchmarking.org/' . PHP_EOL . '.br' . PHP_EOL . 'http://www.phoronix.com/' . PHP_EOL . '.br' . PHP_EOL . 'http://www.phoronix.com/forums/' . PHP_EOL;
$man_page .= '.SH SEE ALSO' . PHP_EOL . '.B Websites:' . PHP_EOL . '.br' . PHP_EOL . 'https://www.phoronix-test-suite.com/' . PHP_EOL . '.br' . PHP_EOL . 'https://commercial.phoronix-test-suite.com/' . PHP_EOL . '.br' . PHP_EOL . 'https://www.openbenchmarking.org/' . PHP_EOL . '.br' . PHP_EOL . 'https://www.phoronix.com/' . PHP_EOL . '.br' . PHP_EOL . 'https://www.phoronix.com/forums/' . PHP_EOL;
$man_page .= '.SH AUTHORS' . PHP_EOL . 'Copyright 2008 - ' . date('Y') . ' by Phoronix Media, Michael Larabel.' . PHP_EOL . '.TP' . PHP_EOL;
file_put_contents(PTS_PATH . 'documentation/man-pages/phoronix-test-suite.1', $man_page);
@@ -258,7 +261,7 @@ class dump_documentation implements pts_option_interface
// simple README
$readme = '# Phoronix Test Suite ' . PTS_VERSION . PHP_EOL . 'http://www.phoronix-test-suite.com/' . PHP_EOL . PHP_EOL;
$readme = '# Phoronix Test Suite ' . PTS_VERSION . PHP_EOL . 'https://www.phoronix-test-suite.com/' . PHP_EOL . PHP_EOL;
$readme .= pts_documentation::basic_description() . PHP_EOL . PHP_EOL;
$readme .= pts_file_io::file_get_contents(PTS_PATH . 'documentation/stubs/readme-basics.txt') . PHP_EOL . PHP_EOL;
$readme = wordwrap($readme, 80, PHP_EOL);
@@ -269,12 +272,12 @@ class dump_documentation implements pts_option_interface
$html_doc = new pts_html_template(pts_core::program_title(false), 'Phoromatic Documentation');
$pdf->AddPage();
$pdf->Image(PTS_CORE_STATIC_PATH . 'images/pts-308x160.png', 69, 85, 73, 38, 'PNG', 'http://www.phoronix-test-suite.com/');
$pdf->Image(PTS_CORE_STATIC_PATH . 'images/pts-308x160.png', 69, 85, 73, 38, 'PNG', 'https://www.phoronix-test-suite.com/');
$pdf->Ln(120);
$pdf->WriteStatement('www.phoronix-test-suite.com', 'C', 'http://www.phoronix-test-suite.com/');
$pdf->WriteStatement('www.phoronix-test-suite.com', 'C', 'https://www.phoronix-test-suite.com/');
$pdf->Ln(15);
$pdf->Image(PTS_CORE_STATIC_PATH . 'images/phoromatic-390x56.png', 55, 250, 0, 0, 'PNG', 'http://www.phoronix-test-suite.com/');
//$pdf->Image(PTS_CORE_STATIC_PATH . 'images/phoromatic-390x56.png', 69, 85, 73, 38, 'PNG', 'http://www.phoromatic.com/');
$pdf->Image(PTS_CORE_STATIC_PATH . 'images/phoromatic-390x56.png', 55, 250, 0, 0, 'PNG', 'https://www.phoronix-test-suite.com/');
//$pdf->Image(PTS_CORE_STATIC_PATH . 'images/phoromatic-390x56.png', 69, 85, 73, 38, 'PNG', 'https://www.phoromatic.com/');
$pdf->WriteBigHeaderCenter(pts_core::program_title(true));
$pdf->WriteHeaderCenter('Phoromatic User Manual');
$pdf->html_to_pdf(PTS_PATH . 'documentation/phoromatic.html');

View File

@@ -0,0 +1,162 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2019, Phoronix Media
Copyright (C) 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
ini_set('memory_limit', '8G');
class dump_ob_to_ae_db implements pts_option_interface
{
public static function run($r)
{
$dir_to_recursively_scan = $r[0];
if(!is_dir($dir_to_recursively_scan))
{
echo $dir_to_recursively_scan . ' is not a dir.';
return false;
}
$storage_dir = $r[1];
if(!is_dir($storage_dir))
{
echo $storage_dir . ' is not a dir.';
return false;
}
$ae = new pts_ae_data($storage_dir);
$xml_files = array();
pts_file_io::recursively_find_files_in_directory($dir_to_recursively_scan, $xml_files, '.xml');
foreach($xml_files as $file)
{
$result_reference = null; // TODO fill in OpenBenchmarking.org ID for that
$rf = new pts_result_file($file, false, true);
$systems = $rf->get_systems();
$system_data = array();
$timestamps = array();
$system_types = array();
foreach($systems as $system)
{
$system_data[$system->get_identifier()] = array_map(array('pts_strings', 'trim_search_query'), array_merge(pts_result_file_analyzer::system_component_string_to_array($system->get_hardware()), pts_result_file_analyzer::system_component_string_to_array($system->get_software())));
$timestamps[$system->get_identifier()] = strtotime($system->get_timestamp());
$system_types[$system->get_identifier()] = phodevi_base::determine_system_type($system->get_hardware(), $system->get_software());
}
foreach($rf->get_result_objects() as $ro)
{
if($ro->test_profile->get_identifier() == null)
{
continue;
}
$comparison_hash = $ro->get_comparison_hash(true, false);
$inserts = 0;
foreach($ro->test_result_buffer as &$buffers)
{
if(empty($buffers))
continue;
foreach($buffers as &$buffer_item)
{
$result = $buffer_item->get_result_value();
if(stripos($result, ',') !== false || !is_numeric($result))
{
continue;
}
$system_identifier = $buffer_item->get_result_identifier();
$system_layer = isset($system_data[$system_identifier]['System Layer']) ? $system_data[$system_identifier]['System Layer'] : null;
$hw_type = $ro->test_profile->get_test_hardware_type();
$args_desc = $ro->get_arguments_description();
// Since some tests could stress multiple subsystems, see what the argument descriptions string says
if(strpos($args_desc, ' GPU') || strpos($args_desc, ' CUDA') || strpos($args_desc, ' OpenCL'))
{
$hw_type = 'Graphics';
}
else if(strpos($args_desc, ' RAM') || strpos($args_desc, ' Memory'))
{
$hw_type = 'Memory';
}
else if(strpos($args_desc, ' Disk'))
{
$hw_type = 'Disk';
}
else if($hw_type == 'Network' && (strpos($args_desc, 'localhost') || strpos($args_desc, '127.0.0.1')))
{
// loopback / local test so network adapter really not important, moreso the system/CPU
$hw_type = 'System';
}
switch($hw_type)
{
case 'Processor':
$component = 'Processor';
$related_component = 'OS';
break;
case 'System':
$component = 'Processor';
$related_component = 'Motherboard';
break;
case 'Graphics':
$component = 'Graphics';
$related_component = 'OpenGL';
break;
case 'Disk':
$component = 'Disk';
$related_component = 'File-System';
break;
case 'Network':
$component = 'Network';
$related_component = 'OS';
break;
case 'Memory':
$component = 'Memory';
$related_component = 'Processor';
break;
default:
$component = 'Processor';
$related_component = 'OS';
break;
}
if(!isset($system_data[$system_identifier][$component]) || empty($system_data[$system_identifier][$component]))
{
continue;
}
$component_value = $system_data[$system_identifier][$component];
$related_component_value = isset($system_data[$system_identifier][$related_component]) ? $system_data[$system_identifier][$related_component] : null;
$ae->insert_result_into_analytic_results($comparison_hash, $result_reference, $component_value, $component, $related_component_value, $related_component, $result, $timestamps[$system_identifier], $system_types[$system_identifier], $system_layer);
$inserts++;
}
}
if($inserts > 0)
{
$ae->insert_composite_hash_entry_by_result_object($comparison_hash, $ro);
}
}
}
$ae->rebuild_composite_listing();
}
}
?>

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2009 - 2016, Phoronix Media
Copyright (C) 2009 - 2016, Michael Larabel
Copyright (C) 2009 - 2018, Phoronix Media
Copyright (C) 2009 - 2018, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -24,20 +24,8 @@ class dump_possible_options implements pts_option_interface
{
public static function run($r)
{
$options = array();
foreach(pts_file_io::glob(PTS_COMMAND_PATH . '*.php') as $option_php)
{
$name = str_replace('_', '-', basename($option_php, '.php'));
if(!in_array(pts_strings::first_in_string($name, '-'), array('dump', 'debug', 'task')))
{
$options[] = $name;
}
}
$is_true = isset($r[0]) && $r[0] == 'TRUE';
echo implode($is_true ? ' ' : PHP_EOL, $options) . ($is_true ? null : PHP_EOL);
echo implode($is_true ? ' ' : PHP_EOL, pts_client::possible_sub_commands()) . ($is_true ? null : PHP_EOL);
}
}

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2014 - 2018, Phoronix Media
Copyright (C) 2014 - 2018, Michael Larabel
Copyright (C) 2014 - 2019, Phoronix Media
Copyright (C) 2014 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -49,7 +49,7 @@ class edit_result_file implements pts_option_interface
$result_file->set_description($new_description);
}
pts_client::save_test_result($result_file->get_file_location(), $result_file->get_xml());
pts_client::display_web_page(PTS_SAVE_RESULTS_PATH . $r[0] . '/index.html');
pts_client::display_result_view($result_file, false);
}
}

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2017, Phoronix Media
Copyright (C) 2017, Michael Larabel
Copyright (C) 2017 - 2019, Phoronix Media
Copyright (C) 2017 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -45,7 +45,7 @@ class estimate_run_time implements pts_option_interface
$test_count = 0;
foreach($args as $arg)
{
foreach(pts_types::identifiers_to_test_profile_objects($arg) as $t)
foreach(pts_types::identifiers_to_test_profile_objects($arg, false, false) as $t)
{
$tests[] = array($t->get_identifier(), pts_strings::format_time($t->get_estimated_run_time()));
$total_time += $t->get_estimated_run_time();

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2009 - 2015, Phoronix Media
Copyright (C) 2009 - 2015, Michael Larabel
Copyright (C) 2009 - 2019, Phoronix Media
Copyright (C) 2009 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -55,7 +55,7 @@ class extract_from_result_file implements pts_option_interface
while(empty($extract_to));
pts_client::save_test_result($extract_to . '/composite.xml', $result_file->get_xml());
pts_client::display_web_page(PTS_SAVE_RESULTS_PATH . $extract_to . '/index.html');
pts_client::display_result_view($extract_to, false);
}
}

View File

@@ -23,8 +23,12 @@
class force_install implements pts_option_interface
{
const doc_section = 'Test Installation';
const doc_description = 'This option will force the installation (or re-installation) of a test or suite. The arguments and process is similar to the install option but even if the test is installed, the entire installation process will automatically be executed. This option is generally used when debugging a test installation problem.';
const doc_description = 'This option will force the installation (or re-installation) of a test or suite. The arguments and process is similar to the install option but even if the test is installed, the entire installation process will automatically be executed. This option is generally used when debugging a test installation problem or wishing to re-install test(s) due to compiler or other environmental changes.';
public static function command_aliases()
{
return array('reinstall', 're-install');
}
public static function argument_checks()
{
return array(

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2012 - 2018, Phoronix Media
Copyright (C) 2012 - 2018, Michael Larabel
Copyright (C) 2012 - 2019, Phoronix Media
Copyright (C) 2012 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,7 +23,8 @@
class gui implements pts_option_interface
{
const doc_section = 'Web / GUI Support';
const doc_description = 'Launch the Phoronix Test Suite HTML5 web user-interface in the local GUI mode (no remote web support) and attempt to auto-launch the web-browser. THIS FEATURE IS CURRENTLY EXPERIMENTAL AND NO LONGER ACTIVE DEVELOPMENT. See Phoronix Test Suite Phoromatic as an alternative web UI approach.';
const doc_description = 'Launch the Phoronix Test Suite HTML5 web user-interface in the local GUI mode (no remote web support) and attempt to auto-launch the web-browser. THIS FEATURE IS CURRENTLY EXPERIMENTAL AND NO LONGER IN ACTIVE DEVELOPMENT. See Phoronix Test Suite Phoromatic as an alternative web UI approach.';
const doc_skip = true;
public static function command_aliases()
{

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2010 - 2017, Phoronix Media
Copyright (C) 2010 - 2017, Michael Larabel
Copyright (C) 2010 - 2019, Phoronix Media
Copyright (C) 2010 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -28,7 +28,7 @@ class help implements pts_option_interface
public static function run($r)
{
echo PHP_EOL . pts_client::cli_colored_text(pts_core::program_title(true), 'green', true) . PHP_EOL . PHP_EOL;
echo pts_documentation::basic_description() . PHP_EOL . PHP_EOL . 'View the included PDF / HTML documentation or visit http://www.phoronix-test-suite.com/ for full details.' . PHP_EOL;
echo pts_documentation::basic_description() . PHP_EOL . PHP_EOL . 'View the included documentation or visit https://www.phoronix-test-suite.com/ for full details.' . PHP_EOL;
$options = pts_documentation::client_commands_array();
foreach($options as $section => &$contents)

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2018, Phoronix Media
Copyright (C) 2008 - 2018, Michael Larabel
Copyright (C) 2008 - 2019, Phoronix Media
Copyright (C) 2008 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -76,7 +76,7 @@ class info implements pts_option_interface
{
echo pts_client::cli_just_bold(strtoupper('NOTE: This test profile is marked \'' . $o->get_license() . '\' and may have issues running without third-party/commercial dependencies.')) . PHP_EOL . PHP_EOL;
}
if($o->get_status() != 'Verified')
if($o->get_status() != 'Verified' && $o->get_status() != null)
{
echo pts_client::cli_just_bold(strtoupper('NOTE: This test profile is marked \'' . $o->get_status() . '\' and may have known issues with test installation or execution.')) . PHP_EOL . PHP_EOL;
}
@@ -175,7 +175,7 @@ class info implements pts_option_interface
// OpenBenchmarking.org Change-Log
if(stripos($o->get_identifier(), 'local/') === false)
if(stripos($o->get_identifier(), 'local/') === false && !defined('PHOROMATIC_PROCESS'))
{
$change_log = pts_openbenchmarking_client::fetch_repository_test_profile_changelog($o->get_identifier(false));
@@ -193,24 +193,27 @@ class info implements pts_option_interface
}
// Recent Test Results With This Test
$o_identifier = $o->get_identifier(false);
$table = array();
foreach(pts_client::saved_test_results() as $saved_results_identifier)
if(!defined('PHOROMATIC_PROCESS'))
{
$result_file = new pts_result_file($saved_results_identifier);
foreach($result_file->get_result_objects() as $result_object)
$o_identifier = $o->get_identifier(false);
$table = array();
foreach(pts_client::saved_test_results() as $saved_results_identifier)
{
if($result_object->test_profile->get_identifier(false) == $o_identifier)
$result_file = new pts_result_file($saved_results_identifier);
foreach($result_file->get_result_objects() as $result_object)
{
$table[] = array(pts_client::cli_just_bold($result_file->get_identifier()), $result_file->get_title());
break;
if($result_object->test_profile->get_identifier(false) == $o_identifier)
{
$table[] = array(pts_client::cli_just_bold($result_file->get_identifier()), $result_file->get_title());
break;
}
}
}
}
if(!empty($table))
{
echo PHP_EOL . pts_client::cli_just_bold('Results Containing This Test') . PHP_EOL;
echo pts_user_io::display_text_table($table);
if(!empty($table))
{
echo PHP_EOL . pts_client::cli_just_bold('Results Containing This Test') . PHP_EOL;
echo pts_user_io::display_text_table($table);
}
}
}
else if($o instanceof pts_result_file)
@@ -218,6 +221,11 @@ class info implements pts_option_interface
echo pts_client::cli_just_bold('Title: ') . $o->get_title() . PHP_EOL . pts_client::cli_just_bold('Identifier: ') . $o->get_identifier() . PHP_EOL;
echo PHP_EOL . pts_client::cli_just_bold('Test Result Identifiers:') . PHP_EOL;
echo pts_user_io::display_text_list($o->get_system_identifiers());
$system_count = count($o->get_system_identifiers());
if($system_count > 8)
{
echo pts_client::cli_just_italic($system_count . ' Systems') . PHP_EOL;
}
$test_titles = array();
foreach($o->get_result_objects() as $result_object)
@@ -232,6 +240,7 @@ class info implements pts_option_interface
{
echo PHP_EOL . pts_client::cli_just_bold('Contained Tests:') . PHP_EOL;
echo pts_user_io::display_text_list(array_unique($test_titles));
echo ' ' . pts_client::cli_just_italic(pts_strings::plural_handler($o->get_test_count(), 'Test')) . PHP_EOL;
}
echo PHP_EOL;
}

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2011 - 2018, Phoronix Media
Copyright (C) 2011 - 2018, Michael Larabel
Copyright (C) 2011 - 2019, Phoronix Media
Copyright (C) 2011 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -35,15 +35,16 @@ class interactive implements pts_option_interface
do
{
$only_show_available_cached_tests = pts_network::internet_support_available() == false;
$options = array(
'RUN_TEST' => 'Run A Test',
'RUN_SUITE' => 'Run A Suite [A Collection Of Tests]',
'RUN_SYSTEM_TEST' => 'Run Complex System Test',
'RUN_TEST' => 'Run A Test / Benchmark',
'RUN_SUITE' => 'Run A Suite [A Collection Of Tests]',
'RUN_STRESS_TEST' => 'Run A Stress Test [Concurrent Benchmarks For Heavy System Load]',
'SHOW_INFO' => 'Show System Hardware / Software Information',
'SHOW_SENSORS' => 'Show Available System Sensors',
'LIST_TESTS' => 'List Available Tests',
'LIST_RECOMMENDED_TESTS' => 'List Recommended Tests',
'SET_RUN_COUNT' => 'Set Test Run Repetition',
// 'SET_RUN_COUNT' => 'Set Test Run Repetition',
'SEARCH' => 'Search Tests / Suites / Results'
);
@@ -58,13 +59,18 @@ class interactive implements pts_option_interface
switch($response)
{
case 'RUN_TEST':
$supported_tests = pts_openbenchmarking::available_tests();
$supported_tests = pts_openbenchmarking::available_tests(!$only_show_available_cached_tests, false, false, false, $only_show_available_cached_tests);
$supported_tests = pts_types::identifiers_to_test_profile_objects($supported_tests, false, true);
$longest_title_length = 0;
foreach($supported_tests as $i => &$test_profile)
{
if($test_profile->get_title() == null)
if($test_profile->get_title() == null || $test_profile->get_license() == 'Retail')
{
unset($supported_tests[$i]);
continue;
}
if(!pts_test_run_manager::test_profile_system_compatibility_check($test_profile))
{
unset($supported_tests[$i]);
continue;
@@ -84,16 +90,59 @@ class interactive implements pts_option_interface
$supported_tests = $t;
asort($supported_tests);
$tests_to_run = pts_user_io::prompt_text_menu('Select Test', $supported_tests, true, true);
$tests_to_run = pts_user_io::prompt_text_menu('Select Test(s)', $supported_tests, true, true);
$tests_to_run = explode(',', $tests_to_run);
pts_test_installer::standard_install($tests_to_run);
$run_manager = new pts_test_run_manager(false, 2);
$run_manager->standard_run($tests_to_run);
if($run_manager != false)
{
pts_client::display_web_page(PTS_SAVE_RESULTS_PATH . $run_manager->get_file_name() . '/index.html', null, true, true);
pts_client::display_result_view($run_manager->result_file, false);
}
break;
case 'RUN_STRESS_TEST':
$supported_tests = pts_openbenchmarking::available_tests(!$only_show_available_cached_tests, false, false, false, $only_show_available_cached_tests);
$supported_tests = pts_types::identifiers_to_test_profile_objects($supported_tests, false, true);
$longest_title_length = 0;
foreach($supported_tests as $i => &$test_profile)
{
if($test_profile->get_title() == null || $test_profile->get_license() == 'Retail')
{
unset($supported_tests[$i]);
continue;
}
if(!pts_test_run_manager::test_profile_system_compatibility_check($test_profile))
{
unset($supported_tests[$i]);
continue;
}
$longest_title_length = max($longest_title_length, strlen($test_profile->get_title()));
}
$t = array();
foreach($supported_tests as $i => &$test_profile)
{
if($test_profile instanceof pts_test_profile)
{
$t[$test_profile->get_identifier()] = sprintf('%-' . ($longest_title_length + 1) . 'ls - %-10ls', $test_profile->get_title(), $test_profile->get_test_hardware_type());
}
}
$supported_tests = $t;
asort($supported_tests);
$tests_to_run = pts_user_io::prompt_text_menu('Select Test(s)', $supported_tests, true, true);
$tests_to_run = explode(',', $tests_to_run);
$concurrent_runs = pts_user_io::prompt_user_input('Number of tests to run concurrently');
putenv('PTS_CONCURRENT_TEST_RUNS=' . trim($concurrent_runs));
$minutes_loop_time = pts_user_io::prompt_user_input('Number of minutes to stress run');
putenv('TOTAL_LOOP_TIME=' . trim($minutes_loop_time));
pts_test_installer::standard_install($tests_to_run);
pts_client::execute_command('stress_run', $tests_to_run);
break;
case 'RUN_SUITE':
$possible_suites = pts_openbenchmarking::available_suites();
@@ -116,17 +165,6 @@ class interactive implements pts_option_interface
case 'SEARCH':
pts_client::execute_command('search');
break;
case 'RUN_SYSTEM_TEST':
pts_client::$display->generic_heading('System Test');
$system_tests = array('apache', 'c-ray', 'ramspeed', 'postmark');
pts_test_installer::standard_install($system_tests);
$run_manager = new pts_test_run_manager(false, 2);
$run_manager->standard_run($system_tests);
if($run_manager != false)
{
pts_client::display_web_page(PTS_SAVE_RESULTS_PATH . $run_manager->get_file_name() . '/index.html', null, true, true);
}
break;
case 'SHOW_INFO':
pts_client::execute_command('system_info');
break;

View File

@@ -0,0 +1,80 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2018, Phoronix Media
Copyright (C) 2008 - 2018, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class list_all_tests implements pts_option_interface
{
const doc_section = 'Information';
const doc_description = 'This option will list all test profiles that are available from the enabled OpenBenchmarking.org repositories. Unlike the other test listing options, list-all-tests will show deprecated tests, potentially broken tests, or other tests not recommended for all environments. The only check in place is ensuring the test profiles are at least compatible with the operating system in use.';
public static function run($r)
{
pts_client::$display->generic_heading('Available Tests');
$list_all_tests = pts_client::get_sent_command() == 'list_all_tests';
$only_show_available_cached_tests = !$list_all_tests && pts_network::internet_support_available() == false;
if($only_show_available_cached_tests)
{
echo 'Internet support is not available/enabled, so the Phoronix Test Suite is only listing test profiles where any necessary test assets are already downloaded to the system or available via a network download cache. To override this behavior, use the ' . pts_client::cli_just_bold('phoronix-test-suite list-all-tests') . ' option.' . PHP_EOL . PHP_EOL;
pts_client::execute_command('list_cached_tests');
return true;
}
$test_count = 0;
foreach(pts_openbenchmarking::available_tests(false) as $identifier)
{
$repo = substr($identifier, 0, strpos($identifier, '/'));
$id = substr($identifier, strlen($repo) + 1);
$repo_index = pts_openbenchmarking::read_repository_index($repo);
if((!empty($repo_index['tests'][$id]['supported_platforms']) && !in_array(phodevi::os_under_test(), $repo_index['tests'][$id]['supported_platforms'])) || empty($repo_index['tests'][$id]['title']))
{
// Don't show unsupported tests
continue;
}
if($list_all_tests == false && !empty($repo_index['tests'][$id]['status']) && $repo_index['tests'][$id]['status'] != 'Verified')
{
// Don't show unsupported tests
continue;
}
echo sprintf('%-30ls - %-39ls %-9ls', $identifier, $repo_index['tests'][$id]['title'], $repo_index['tests'][$id]['test_type']) . PHP_EOL;
$test_count++;
}
foreach(pts_tests::local_tests() as $identifier)
{
$test_profile = new pts_test_profile($identifier);
if($test_profile->get_title() != null && $test_profile->is_supported(false))
{
echo sprintf('%-30ls - %-39ls %-9ls', $test_profile->get_identifier(), $test_profile->get_title(), $test_profile->get_test_hardware_type()) . PHP_EOL;
$test_count++;
}
}
if($test_count == 0)
{
echo PHP_EOL . 'No tests found. Please check that you have Internet connectivity to download test profile data from OpenBenchmarking.org. The Phoronix Test Suite has documentation on configuring the network setup, proxy settings, and PHP network options. Please contact Phoronix Media if you continuing to experience problems.' . PHP_EOL . PHP_EOL;
}
}
}
?>

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2013, Phoronix Media
Copyright (C) 2008 - 2013, Michael Larabel
Copyright (C) 2008 - 2019, Phoronix Media
Copyright (C) 2008 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -31,7 +31,7 @@ class list_available_suites implements pts_option_interface
}
public static function run($r)
{
$available_suites = array_merge(pts_openbenchmarking::available_suites(false), pts_tests::local_suites());
$available_suites = pts_tests::all_suites(true);
pts_client::$display->generic_heading('Available Suites');
if(count($available_suites) > 0)

View File

@@ -23,7 +23,7 @@
class list_available_tests implements pts_option_interface
{
const doc_section = 'Information';
const doc_description = 'This option will list all test profiles that are available from the enabled OpenBenchmarking.org repositories where supported on the system and are of a verified state.';
const doc_description = 'This option will list all test profiles that are available from the enabled OpenBenchmarking.org repositories where supported on the system and are of a verified state. If the system has no Internet access, it will only list the test profiles where the necesary test assets are available locally on the system or on an available network cache (the same behavior as using the list-cached-tests sub-command), unless using the list-all-tests option to override this behavior.';
public static function command_aliases()
{
@@ -32,13 +32,21 @@ class list_available_tests implements pts_option_interface
public static function run($r)
{
pts_client::$display->generic_heading('Available Tests');
$only_show_available_cached_tests = pts_network::internet_support_available() == false;
if($only_show_available_cached_tests)
{
echo 'Internet support is not available/enabled, so the Phoronix Test Suite is only listing test profiles where any necessary test assets are already downloaded to the system or available via a network download cache. To override this behavior, use the ' . pts_client::cli_just_bold('phoronix-test-suite list-all-tests') . ' option.' . PHP_EOL . PHP_EOL;
pts_client::execute_command('list_cached_tests');
return true;
}
$test_count = 0;
foreach(pts_openbenchmarking::available_tests(false) as $identifier)
{
$repo = substr($identifier, 0, strpos($identifier, '/'));
$id = substr($identifier, strlen($repo) + 1);
$repo_index = pts_openbenchmarking::read_repository_index($repo);
if((!empty($repo_index['tests'][$id]['supported_platforms']) && !in_array(phodevi::os_under_test(), $repo_index['tests'][$id]['supported_platforms'])) || empty($repo_index['tests'][$id]['title']))
{
// Don't show unsupported tests
@@ -49,8 +57,13 @@ class list_available_tests implements pts_option_interface
// Don't show unsupported tests
continue;
}
if($repo_index['tests'][$id]['test_type'] == 'Graphics' && !phodevi::is_display_server_active())
{
// Don't display graphics tests that can't run
continue;
}
echo sprintf('%-30ls - %-35ls %-9ls', $identifier, $repo_index['tests'][$id]['title'], $repo_index['tests'][$id]['test_type']) . PHP_EOL;
echo sprintf('%-30ls - %-39ls %-9ls', $identifier, $repo_index['tests'][$id]['title'], $repo_index['tests'][$id]['test_type']) . PHP_EOL;
$test_count++;
}
@@ -60,7 +73,7 @@ class list_available_tests implements pts_option_interface
if($test_profile->get_title() != null && $test_profile->is_supported(false))
{
echo sprintf('%-30ls - %-35ls %-9ls', $test_profile->get_identifier(), $test_profile->get_title(), $test_profile->get_test_hardware_type()) . PHP_EOL;
echo sprintf('%-30ls - %-39ls %-9ls', $test_profile->get_identifier(), $test_profile->get_title(), $test_profile->get_test_hardware_type()) . PHP_EOL;
$test_count++;
}
}

View File

@@ -0,0 +1,99 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2018, Phoronix Media
Copyright (C) 2008 - 2018, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class list_cached_tests implements pts_option_interface
{
const doc_section = 'Information';
const doc_description = 'This option will list all test profiles where any needed test profiles are already cached or available from the local system under test. This is primarily useful if testing offline/behind-the-firewall and other use-cases where wanting to rely only upon local data.';
public static function run($r)
{
pts_client::$display->generic_heading('Cached Tests');
$test_count = 0;
foreach(pts_openbenchmarking::available_tests(false) as $identifier)
{
$repo = substr($identifier, 0, strpos($identifier, '/'));
$id = substr($identifier, strlen($repo) + 1);
$repo_index = pts_openbenchmarking::read_repository_index($repo);
if((!empty($repo_index['tests'][$id]['supported_platforms']) && !in_array(phodevi::os_under_test(), $repo_index['tests'][$id]['supported_platforms'])) || empty($repo_index['tests'][$id]['title']))
{
// Don't show unsupported tests
continue;
}
if($repo_index['tests'][$id]['test_type'] == 'Graphics' && !phodevi::is_display_server_active())
{
// Don't display graphics tests that can't run
continue;
}
$show = false;
foreach($repo_index['tests'][$id]['versions'] as $version)
{
if(!pts_openbenchmarking::is_test_profile_downloaded($identifier . '-' . $version))
{
// Without Internet, won't be able to download test, so don't show it
continue;
}
$test_profile = new pts_test_profile($identifier . '-' . $version);
if(pts_test_install_request::test_files_available_via_cache($test_profile) == false)
{
// only show tests where files are local or in an available cache
continue;
}
$show = true;
$identifier .= '-' . $version;
break;
}
if($show == false)
{
continue;
}
echo sprintf('%-30ls - %-39ls %-9ls', $identifier, $repo_index['tests'][$id]['title'], $repo_index['tests'][$id]['test_type']) . PHP_EOL;
$test_count++;
}
foreach(pts_tests::local_tests() as $identifier)
{
$test_profile = new pts_test_profile($identifier);
if(pts_test_install_request::test_files_available_via_cache($test_profile) == false)
{
// only show tests where files are local or in an available cache
continue;
}
if($test_profile->get_title() != null && $test_profile->is_supported(false))
{
echo sprintf('%-30ls - %-39ls %-9ls', $test_profile->get_identifier(), $test_profile->get_title(), $test_profile->get_test_hardware_type()) . PHP_EOL;
$test_count++;
}
}
if($test_count == 0)
{
echo PHP_EOL . 'No tests found. Please check that you have Internet connectivity to download test profile data from OpenBenchmarking.org. The Phoronix Test Suite has documentation on configuring the network setup, proxy settings, and PHP network options. Please contact Phoronix Media if you continuing to experience problems.' . PHP_EOL . PHP_EOL;
}
}
}
?>

View File

@@ -28,24 +28,47 @@ class list_recommended_tests implements pts_option_interface
public static function run($r)
{
pts_client::$display->generic_heading('Recommended OpenBenchmarking.org Test Profiles');
$test_count = 0;
$recommendation_index = pts_openbenchmarking::make_openbenchmarking_request('recommended_tests_index');
$recommendation_index = json_decode($recommendation_index, true);
foreach($recommendation_index['recommended_tests'] as $subsystem => $tests)
$tests = array();
foreach(pts_openbenchmarking::available_tests(false) as $identifier)
{
pts_client::$display->generic_heading($subsystem . ' Tests');
foreach($tests as $test)
$repo = substr($identifier, 0, strpos($identifier, '/'));
$id = substr($identifier, strlen($repo) + 1);
$repo_index = pts_openbenchmarking::read_repository_index($repo);
if((!empty($repo_index['tests'][$id]['supported_platforms']) && !in_array(phodevi::os_under_test(), $repo_index['tests'][$id]['supported_platforms'])) || empty($repo_index['tests'][$id]['title']))
{
echo sprintf('%-32ls - %-35ls', $test['test_profile'], $test['title']) . PHP_EOL;
// Don't show unsupported tests
continue;
}
if(!empty($repo_index['tests'][$id]['status']) && $repo_index['tests'][$id]['status'] != 'Verified')
{
// Don't show unsupported tests
continue;
}
$test_count++;
if($repo_index['tests'][$id]['last_updated'] < (time() - (60 * 60 * 24 * 365)))
{
// Don't show tests not actively maintained
continue;
}
if(!isset($tests[$repo_index['tests'][$id]['test_type']]))
{
$tests[$repo_index['tests'][$id]['test_type']] = array();
}
$tests[$repo_index['tests'][$id]['test_type']][$identifier] = $repo_index['tests'][$id];
}
if($test_count == 0)
foreach($tests as $subsystem => $test_json)
{
echo PHP_EOL . 'No tests found. Please check that you have Internet connectivity to download test profile data from OpenBenchmarking.org. The Phoronix Test Suite has documentation on configuring the network setup, proxy settings, and PHP network options. Please contact Phoronix Media if you continuing to experience problems.' . PHP_EOL . PHP_EOL;
uasort($test_json, array('pts_openbenchmarking_client', 'compare_test_json_download_counts'));
$test_json = array_slice($test_json, 0, 10);
pts_client::$display->generic_heading($subsystem . ' Tests');
foreach($test_json as $identifier => $test_individual_json)
{
echo sprintf('%-30ls - %-39ls', $identifier, $test_individual_json['title']) . PHP_EOL;
}
}
}
}

View File

@@ -45,7 +45,7 @@ class list_unsupported_tests implements pts_option_interface
if($unsupported)
{
echo sprintf('%-28ls - %-30ls %-9ls', $identifier, $unsupported, $repo_index['tests'][$id]['test_type']) . PHP_EOL;
echo sprintf('%-28ls - %-30ls', $identifier, $unsupported) . PHP_EOL;
}
}

View File

@@ -32,6 +32,10 @@ class make_download_cache implements pts_option_interface
// Determine cache location
$dc_write_directory = pts_client::download_cache_path();
if(($dc_override = getenv('PTS_DOWNLOAD_CACHE_OVERRIDE')) != false && is_dir($dc_override))
{
$dc_write_directory = $dc_override;
}
pts_file_io::mkdir($dc_write_directory);
echo PHP_EOL . 'Download Cache Directory: ' . $dc_write_directory . PHP_EOL;
@@ -48,7 +52,7 @@ class make_download_cache implements pts_option_interface
if(count($test_profiles) > 0)
{
echo PHP_EOL . 'Downloading Test Files For: ' . implode(' ', $test_profiles);
pts_test_installer::only_download_test_files($test_profiles, $dc_write_directory, false);
pts_test_installer::only_download_test_files($test_profiles, $dc_write_directory, getenv('PTS_DOWNLOAD_CACHING_PLATFORM_LIMIT') !== false);
}
}
@@ -62,7 +66,19 @@ class make_download_cache implements pts_option_interface
$test_profile = new pts_test_profile($test);
echo PHP_EOL . pts_client::cli_just_bold('Checking Downloads For: ') . $test . PHP_EOL;
foreach($test_profile->get_downloads() as $file)
if(getenv('PTS_DOWNLOAD_CACHING_PLATFORM_LIMIT') !== false)
{
// Don't get all download files but just those for the given platform
$tr = new pts_test_install_request($test_profile);
$tr->generate_download_object_list(true);
$downloads = $tr->get_download_objects();
}
else
{
$downloads = $test_profile->get_downloads();
}
foreach($downloads as $file)
{
$cached_valid = false;
if(is_file($dc_write_directory . $file->get_filename()) && $file->check_file_hash($dc_write_directory . $file->get_filename()))

View File

@@ -54,7 +54,14 @@ class make_openbenchmarking_cache implements pts_option_interface
$repo_index = pts_openbenchmarking::read_repository_index($repo);
echo $i . '/' . $total_count . ': ' . ($repo_index['tests'][$test]['title'] != null ? $repo_index['tests'][$test]['title'] . ' [' . $repo_index['tests'][$test]['test_type'] . ']' : null) . PHP_EOL;
foreach($repo_index['tests'][$test]['versions'] as $version)
$versions = $repo_index['tests'][$test]['versions'];
if(isset($r[0]) && $r[0] == 'lean')
{
$versions = array(array_shift($versions));
}
foreach($versions as $version)
{
$qualified_identifier = $repo . '/' . $test . '-' . $version;
echo $qualified_identifier;

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2018, Phoronix Media
Copyright (C) 2008 - 2018, Michael Larabel
Copyright (C) 2008 - 2019, Phoronix Media
Copyright (C) 2008 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -62,7 +62,7 @@ class merge_results implements pts_option_interface
$result_file->merge($result_files_to_merge);
pts_client::save_test_result($merge_to_file, $result_file->get_xml());
echo 'Merged Results Saved To: ' . PTS_SAVE_RESULTS_PATH . $merge_to_file . PHP_EOL . PHP_EOL;
pts_client::display_web_page(PTS_SAVE_RESULTS_PATH . dirname($merge_to_file) . '/index.html');
pts_client::display_result_view($merge_to_file, false);
}
}

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2011 - 2018, Phoronix Media
Copyright (C) 2011 - 2018, Michael Larabel
Copyright (C) 2011 - 2019, Phoronix Media
Copyright (C) 2011 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -25,6 +25,10 @@ class openbenchmarking_changes implements pts_option_interface
const doc_section = 'OpenBenchmarking.org';
const doc_description = 'This option will list recent changes to test profiles of enabled OpenBenchmarking.org repositories.';
public static function command_aliases()
{
return array('recently_updated_tests');
}
public static function run($r)
{
pts_client::$display->generic_heading('Recently Updated OpenBenchmarking.org Tests');

View File

@@ -0,0 +1,45 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2011 - 2019, Phoronix Media
Copyright (C) 2011 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class recently_added_tests implements pts_option_interface
{
const doc_section = 'OpenBenchmarking.org';
const doc_description = 'This option will list the most recently added (newest) test profiles.';
public static function command_aliases()
{
return array('newest_tests');
}
public static function run($r)
{
pts_client::$display->generic_heading('Recently Added OpenBenchmarking.org Tests');
foreach(pts_openbenchmarking_client::recently_added_tests(20) as $added => $test_identifier)
{
$test_profile = new pts_test_profile($test_identifier);
echo sprintf('%-36ls - %-35ls', pts_client::cli_just_bold($test_profile->get_identifier(false)), $test_profile->get_title()) . PHP_EOL;
echo sprintf('%-36ls %-35ls', pts_client::cli_just_italic(date('d F Y', $added)), $test_profile->get_test_hardware_type() . ' Test') . PHP_EOL . PHP_EOL;
}
echo PHP_EOL;
}
}
?>

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2018, Phoronix Media
Copyright (C) 2008 - 2018, Michael Larabel
Copyright (C) 2008 - 2019, Phoronix Media
Copyright (C) 2008 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -52,7 +52,7 @@ class refresh_graphs implements pts_option_interface
$t[] = array(pts_client::cli_just_bold('Graph Size: '), $graph_bytes . ' Bytes');
echo pts_user_io::display_text_table($t) . PHP_EOL;
echo PHP_EOL . 'The ' . $identifier . ' result file graphs have been refreshed.' . PHP_EOL;
pts_client::display_web_page(PTS_SAVE_RESULTS_PATH . $identifier . '/index.html');
pts_client::display_result_view($identifier, false);
}
}
}

View File

@@ -0,0 +1,69 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2019, Phoronix Media
Copyright (C) 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class remove_results_from_result_file implements pts_option_interface
{
const doc_section = 'Result Management';
const doc_description = 'This option is used if there are test results (benchmarks) to be dropped from a given result file. The user must specify a saved results file and then they will be prompted to select the tests/benchmarks to remove.';
public static function argument_checks()
{
return array(
new pts_argument_check(0, array('pts_types', 'is_result_file'), null)
);
}
public static function run($r)
{
$result_file = new pts_result_file($r[0]);
$remove_query = pts_user_io::prompt_user_input('Enter the title / arguments to search for to remove from this result file');
$remove_count = 0;
$table = array();
foreach($result_file->get_result_objects() as $id => $result)
{
if(stripos($result->test_profile->get_title(), $remove_query) !== false || stripos($result->test_profile->get_result_scale(), $remove_query) !== false || stripos($result->get_arguments_description(), $remove_query) !== false)
{
$table[] = array($result->test_profile->get_title(), $result->get_arguments_description(), $result->test_profile->get_result_scale());
$result_file->remove_result_object_by_id($id);
$remove_count++;
}
}
if($remove_count == 0)
{
echo 'No matching result objects found.';
}
else
{
echo PHP_EOL . pts_client::cli_just_bold('Results to remove: ') . PHP_EOL;
echo pts_user_io::display_text_table($table) . PHP_EOL . PHP_EOL;
$do_save = pts_user_io::prompt_bool_input('Save the result file changes?');
if($do_save)
{
pts_client::save_test_result($result_file->get_file_location(), $result_file->get_xml());
pts_client::display_result_view($result_file, false);
}
}
}
}
?>

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2009 - 2018, Phoronix Media
Copyright (C) 2009 - 2018, Michael Larabel
Copyright (C) 2009 - 2019, Phoronix Media
Copyright (C) 2009 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -20,11 +20,15 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class remove_from_result_file implements pts_option_interface
class remove_run_from_result_file implements pts_option_interface
{
const doc_section = 'Result Management';
const doc_description = 'This option is used if there is a set of test results you wish to remove/delete from a saved results file. The user must specify a saved results file and then they will be prompted to select the results identifier associated with the results they wish to remove.';
public static function command_aliases()
{
return array('remove_from_result_file');
}
public static function argument_checks()
{
return array(
@@ -58,7 +62,7 @@ class remove_from_result_file implements pts_option_interface
}
pts_client::save_test_result($result_file->get_file_location(), $result_file->get_xml());
pts_client::display_web_page($result_dir . '/index.html');
pts_client::display_result_view($result_file, false);
}
}

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2009 - 2018, Phoronix Media
Copyright (C) 2009 - 2018, Michael Larabel
Copyright (C) 2009 - 2019, Phoronix Media
Copyright (C) 2009 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -51,7 +51,7 @@ class rename_identifier_in_result_file implements pts_option_interface
$result_file->rename_run($rename_identifier, $rename_identifier_new);
pts_client::save_test_result($result_file->get_file_location(), $result_file->get_xml());
pts_client::display_web_page(PTS_SAVE_RESULTS_PATH . $r[0] . '/index.html');
pts_client::display_result_view($result_file, false);
}
}

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2014, Phoronix Media
Copyright (C) 2014, Michael Larabel
Copyright (C) 2014 - 2019, Phoronix Media
Copyright (C) 2014 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ class rename_result_file implements pts_option_interface
echo PHP_EOL . 'Renamed ' . $result . ' to ' . $clean_result_name . '.' . PHP_EOL . PHP_EOL;
}
pts_client::display_web_page(PTS_SAVE_RESULTS_PATH . $clean_result_name . '/index.html');
pts_client::display_result_view($clean_result_name, false);
}
}

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2009 - 2018, Phoronix Media
Copyright (C) 2009 - 2018, Michael Larabel
Copyright (C) 2009 - 2019, Phoronix Media
Copyright (C) 2009 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -69,7 +69,7 @@ class reorder_result_file implements pts_option_interface
$result_file->reorder_runs($sorted_identifiers);
pts_client::save_test_result($result_file->get_file_location(), $result_file->get_xml());
pts_client::display_web_page(PTS_SAVE_RESULTS_PATH . $args[0] . '/index.html');
pts_client::display_result_view($result_file, false);
}
}

View File

@@ -0,0 +1,42 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2019, Phoronix Media
Copyright (C) 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class result_file_confidence implements pts_option_interface
{
const doc_section = 'Result Management';
const doc_description = 'This option will read a saved test results file and display various statistics on the confidence of the results with the standard deviation, three-sigma values, and other metrics while color-coding "passing" results in green.';
public static function argument_checks()
{
return array(
new pts_argument_check(0, array('pts_types', 'is_result_file'), null)
);
}
public static function run($r)
{
$result_file = new pts_result_file($r[0]);
$result_output = pts_result_file_output::result_file_confidence_text($result_file, pts_client::terminal_width(), true);
echo $result_output;
}
}
?>

View File

@@ -0,0 +1,47 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2019, Phoronix Media
Copyright (C) 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class result_file_raw_to_csv implements pts_option_interface
{
const doc_section = 'Result Management';
const doc_description = 'This option will read a saved test results file and output the raw result file run data to a CSV file. This raw (individual) result file output is intended for data analytic purposes where the result-file-to-csv is more end-user-ready.';
public static function argument_checks()
{
return array(
new pts_argument_check(0, array('pts_types', 'is_result_file'), null)
);
}
public static function run($r)
{
$result_file = new pts_result_file($r[0]);
$result_output = pts_result_file_output::result_file_raw_to_csv($result_file);
// To save the result:
$file = pts_core::user_home_directory() . $r[0] . '-raw.csv';
file_put_contents($file, $result_output);
echo PHP_EOL . pts_client::cli_just_bold('Saved To: ') . $file . PHP_EOL;
}
}
?>

View File

@@ -0,0 +1,54 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2019, Phoronix Media
Copyright (C) 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class result_file_stats implements pts_option_interface
{
const doc_section = 'Result Management';
const doc_description = 'This option is used if you wish to analyze a result file by seeing various statistics on the result data for result files containing at least two sets of data.';
public static function command_aliases()
{
return array('winners_and_losers', 'result_stats');
}
public static function argument_checks()
{
return array(
new pts_argument_check(0, array('pts_types', 'is_result_file'), null)
);
}
public static function run($args)
{
$result_file = new pts_result_file($args[0]);
echo ' ' . pts_client::cli_colored_text($result_file->get_title(), 'gray', true) . PHP_EOL . PHP_EOL;
if($result_file->get_system_count() < 2)
{
echo PHP_EOL . 'There are not multiple test runs in this result file.' . PHP_EOL;
return false;
}
echo pts_result_file_analyzer::display_results_wins_losses($result_file);
echo pts_result_file_analyzer::display_result_file_stats_pythagorean_means($result_file);
}
}
?>

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2009 - 2018, Phoronix Media
Copyright (C) 2009 - 2018, Michael Larabel
Copyright (C) 2009 - 2019, Phoronix Media
Copyright (C) 2009 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -40,7 +40,7 @@ class result_file_to_csv implements pts_option_interface
$file = pts_core::user_home_directory() . $r[0] . '.csv';
file_put_contents($file, $result_output);
echo $result_output;
echo PHP_EOL . pts_client::cli_just_bold('Saved To: ') . $file . PHP_EOL;
}
}

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2009 - 2018, Phoronix Media
Copyright (C) 2009 - 2018, Michael Larabel
Copyright (C) 2009 - 2019, Phoronix Media
Copyright (C) 2009 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -33,10 +33,10 @@ class result_file_to_pdf implements pts_option_interface
}
public static function run($r)
{
if(!function_exists('getimagesizefromstring'))
if(!function_exists('getimagesizefromstring') || !function_exists('imagettftext') || !extension_loaded('gd'))
{
echo 'PHP GD support is required for this command.' . PHP_EOL . PHP_EOL;
return false;
echo pts_client::cli_just_bold('PHP GD support and TTF support are required for the PDF output if wanting to display the benchmark result graphs.') . PHP_EOL . PHP_EOL;
//return false;
}
$_REQUEST['force_format'] = 'PNG'; // Force to PNG renderer
@@ -47,7 +47,7 @@ class result_file_to_pdf implements pts_option_interface
$result_file = new pts_result_file($r[0]);
$pdf_file = pts_core::user_home_directory() . $r[0] . '.pdf';
$pdf_output = pts_result_file_output::result_file_to_pdf($result_file, $pdf_file, 'F');
echo PHP_EOL . 'Saved To: ' . $pdf_file . PHP_EOL;
echo PHP_EOL . pts_client::cli_just_bold('Saved To: ') . $pdf_file . PHP_EOL;
}
}

View File

@@ -34,7 +34,7 @@ class result_file_to_text implements pts_option_interface
public static function run($r)
{
$result_file = new pts_result_file($r[0]);
$result_output = pts_result_file_output::result_file_to_text($result_file, pts_client::terminal_width());
$result_output = pts_result_file_output::result_file_to_text($result_file, pts_client::terminal_width(), true);
echo $result_output;
}
}

View File

@@ -145,8 +145,8 @@ class run_random_tests implements pts_option_interface
$test_run_manager->auto_save_results($title, null, 'Various open-source benchmarks by the ' . pts_core::program_title(true) . '.', true);
$test_run_manager->auto_generate_results_identifier();
echo PHP_EOL;
pts_client::$display->generic_sub_heading('Result File: ' . $test_run_manager->get_file_name());
pts_client::$display->generic_sub_heading('Result Identifier: ' . $test_run_manager->get_results_identifier());
pts_client::$display->generic_sub_heading(pts_client::cli_just_bold('Result File: ') . $test_run_manager->get_file_name());
pts_client::$display->generic_sub_heading(pts_client::cli_just_bold('Result Identifier: ') . $test_run_manager->get_results_identifier());
// BENCHMARK
$test_run_manager->pre_execution_process();

View File

@@ -32,6 +32,7 @@ class search implements pts_option_interface
$table = array();
$tests = array();
$results_found = false;
foreach(pts_search::search_test_profiles($search_query) as $test_profile)
{
$table[] = array(pts_client::cli_just_bold($test_profile->get_identifier()), $test_profile->get_title(), $test_profile->get_test_hardware_type());
@@ -45,6 +46,7 @@ class search implements pts_option_interface
}
if(count($table) > 0)
{
$results_found = true;
echo pts_client::cli_colored_text('TEST PROFILES', 'green', true) . PHP_EOL . pts_user_io::display_text_table($table, null, 1) . PHP_EOL . pts_client::cli_colored_text(pts_strings::plural_handler(count($table), 'Test') . ' Matching', 'gray');
$table = array();
@@ -66,6 +68,7 @@ class search implements pts_option_interface
}
if(count($table) > 0)
{
$results_found = true;
echo PHP_EOL . PHP_EOL . pts_client::cli_colored_text('TEST SUITES', 'green', true) . PHP_EOL . pts_user_io::display_text_table($table, null, 1) . PHP_EOL . pts_client::cli_colored_text(pts_strings::plural_handler(count($table), 'Suite') . ' Matching', 'gray');
}
@@ -77,9 +80,15 @@ class search implements pts_option_interface
}
if(count($table) > 0)
{
$results_found = true;
echo PHP_EOL . PHP_EOL . pts_client::cli_colored_text('TEST RESULTS', 'green', true) . PHP_EOL . pts_user_io::display_text_table($table, null, 1) . PHP_EOL . pts_client::cli_colored_text(pts_strings::plural_handler(count($table), 'Test Result') . ' Matching', 'gray');
}
if(!$results_found)
{
echo PHP_EOL . pts_client::cli_just_bold('No Search Matches Found');
}
echo PHP_EOL . PHP_EOL;
}
}

View File

@@ -25,18 +25,87 @@ class shell implements pts_option_interface
const doc_section = 'System';
const doc_description = 'A simple text-driven shell interface / helper to the Phoronix Test Suite. Ideal for those that may be new to the Phoronix Test Suite';
protected static $auto_completion_cache = null;
public static function run($r)
{
pts_openbenchmarking::refresh_repository_lists();
pts_client::$display->generic_heading('Interactive Shell');
echo 'Generating Shell Cache...' . PHP_EOL;
self::$auto_completion_cache = pts_documentation::client_commands_possible_values();
echo 'Refreshing OpenBenchmarking.org Repository Cache...' . PHP_EOL;
pts_openbenchmarking::refresh_repository_lists();
echo phodevi::system_centralized_view();
//echo PHP_EOL . (phodevi::read_property('motherboard', 'serial-number') != null ? PHP_EOL . 'System Serial Number: ' . phodevi::read_property('motherboard', 'serial-number') . PHP_EOL : null);
echo PHP_EOL;
$autocompletion = false;
if(function_exists('readline') && function_exists('readline_completion_function'))
{
$autocompletion = ' Tab auto-completion support available.';
}
$blacklisted_commands = array('shell', 'quit', 'exit');
do
{
self::sensor_overview();
echo PHP_EOL . 'Phoronix Test Suite command to run or ' . pts_client::cli_colored_text('help', 'green') . ' for all possible options, ' . pts_client::cli_colored_text('commands', 'green') . ' for a quick overview of options, ' . pts_client::cli_colored_text('interactive', 'green') . ' for a guided experience, ' . pts_client::cli_colored_text('system-info', 'green') . ' to view system hardware/software information, ' . pts_client::cli_colored_text('exit', 'green') . ' to exit. For new users, ' . pts_client::cli_colored_text('benchmark', 'green') . ' is the simplest and most important sub-command.' . ($autocompletion ? $autocompletion : '') . PHP_EOL;
echo PHP_EOL . pts_client::cli_colored_text((phodevi::is_root() ? '#' : '$'), 'white') . ' ' . pts_client::cli_colored_text('phoronix-test-suite', 'gray') . ' ';
if($autocompletion)
{
readline_completion_function(array('shell', 'shell_auto_completion_handler'));
$input = readline();
}
else
{
$input = pts_user_io::read_user_input();
}
$argv = explode(' ', $input);
if($argv[0] == 'phoronix-test-suite')
{
array_shift($argv);
}
$argc = count($argv);
$sent_command = strtolower(str_replace('-', '_', (isset($argv[0]) ? $argv[0] : null)));
if(!in_array($sent_command, $blacklisted_commands))
{
$passed = pts_client::handle_sent_command($sent_command, $argv, $argc);
if(!$passed)
{
if(empty($argv[0]))
{
echo PHP_EOL . pts_client::cli_colored_text('Enter command to run.', 'red', true) . PHP_EOL;
}
else
{
echo PHP_EOL . pts_client::cli_colored_text('Unsupported command: ' . $argv[0], 'red', true) . PHP_EOL;
}
}
else
{
if($autocompletion)
{
readline_add_history($input);
}
$pass_args = array();
for($i = 1; $i < $argc; $i++)
{
$pass_args[] = $argv[$i];
}
pts_client::execute_command($sent_command, $pass_args); // Run command
}
}
}
while($sent_command != 'exit' && $sent_command != 'quit');
}
protected static function sensor_overview()
{
// SENSORS
$terminal_width = pts_client::terminal_width();
$sensors = array();
foreach(phodevi::supported_sensors(array('cpu_usage', 'cpu_temp', 'sys_temp', 'gpu_usage', 'gpu_temp', 'memory_usage')) as $sensor)
foreach(phodevi::supported_sensors(array('cpu_usage', 'cpu_temp', 'sys_temp', 'sys_power', 'gpu_usage', 'gpu_temp', 'memory_usage')) as $sensor)
{
$supported_devices = call_user_func(array($sensor[2], 'get_supported_devices'));
@@ -54,16 +123,20 @@ class shell implements pts_option_interface
{
$sensor_object = new $sensor[2](0, $device);
$sensor_value = phodevi::read_sensor($sensor_object);
if($sensor_value < 0)
if($sensor_value < 0 || empty($sensor_value))
{
continue;
}
$sensor_name = phodevi::sensor_object_name($sensor_object) . ':';
$sensor_unit = phodevi::read_sensor_object_unit($sensor_object);
$sensor_unit = phodevi::read_sensor_object_unit_short($sensor_object);
$sensors[] = array($sensor_name, $sensor_value, $sensor_unit);
}
}
if(($uptime = phodevi::system_uptime()) > 0)
{
$sensors[] = array('System Uptime', round($uptime / 60), 'M');
}
$longest = array();
foreach($sensors as $ar)
{
@@ -78,6 +151,7 @@ class shell implements pts_option_interface
$sensor_length = array_sum($longest);
$sensors_per_line = floor($terminal_width / $sensor_length);
echo PHP_EOL;
$i = 0;
foreach($sensors as $sensor_data)
{
@@ -93,32 +167,39 @@ class shell implements pts_option_interface
echo PHP_EOL;
// END OF SENSORS
$blacklisted_commands = array('shell', 'quit', 'exit');
do
{
echo PHP_EOL . 'Phoronix Test Suite command to run or ' . pts_client::cli_colored_text('help', 'green') . ' for help, ' . pts_client::cli_colored_text('commands', 'green') . ' for possible options, ' . pts_client::cli_colored_text('interactive', 'green') . ' for a guided experience, ' . pts_client::cli_colored_text('exit', 'green') . ' to exit: ' . PHP_EOL;
echo PHP_EOL . pts_client::cli_colored_text((phodevi::is_root() ? '#' : '$'), 'white') . ' ' . pts_client::cli_colored_text('phoronix-test-suite', 'gray') . ' ';
$input = pts_user_io::read_user_input();
$argv = explode(' ', $input);
if($argv[0] == 'phoronix-test-suite')
{
array_shift($argv);
}
$argc = count($argv);
$sent_command = strtolower(str_replace('-', '_', (isset($argv[0]) ? $argv[0] : null)));
if(!in_array($sent_command, $blacklisted_commands))
{
pts_client::handle_sent_command($sent_command, $argv, $argc);
$pass_args = array();
for($i = 1; $i < $argc; $i++)
{
$pass_args[] = $argv[$i];
}
}
protected static function shell_auto_completion_handler($input)
{
$possibilities = array();
$readline_info = readline_info();
$input = isset($readline_info['end']) ? substr($readline_info['line_buffer'], 0, $readline_info['end']) : $readline_info['line_buffer'];
$input_length = strlen($input);
$possible_sub_commands = pts_client::possible_sub_commands();
pts_client::execute_command($sent_command, $pass_args); // Run command
$argv = explode(' ', trim($input));
if(count($argv) == 1 && !isset(self::$auto_completion_cache[$argv[0]]))
{
foreach($possible_sub_commands as $possibility)
{
if(substr($possibility, 0, $input_length) === $input)
{
$possibilities[] = $possibility;
}
}
}
while($sent_command != 'exit');
else
{
$targeted_sub_command = $argv[0];
if(isset(self::$auto_completion_cache[$argv[0]]))
{
$possibilities = self::$auto_completion_cache[$argv[0]];
}
}
//$possibilities[] = '';
sort($possibilities);
return $possibilities;
}
}

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2018, Phoronix Media
Copyright (C) 2008 - 2018, Michael Larabel
Copyright (C) 2008 - 2019, Phoronix Media
Copyright (C) 2008 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -40,15 +40,7 @@ class show_result implements pts_option_interface
pts_client::generate_result_file_graphs($r[0], PTS_SAVE_RESULTS_PATH . $r[0] . '/');
}
if(pts_client::read_env('DISPLAY') == false)
{
$rf = new pts_result_file($r[0]);
echo pts_result_file_output::result_file_to_text($rf, pts_client::terminal_width());
}
else
{
pts_client::display_web_page($URL . '/index.html', null, false, true);
}
pts_client::display_result_view($r[0], false);
}
}

View File

@@ -0,0 +1,131 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2019, Phoronix Media
Copyright (C) 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class start_result_viewer implements pts_option_interface
{
const doc_section = 'Result Viewer';
const doc_description = 'Start the web-based result viewer.';
public static function command_aliases()
{
return array('start_results_viewer');
}
public static function run($r)
{
if(pts_client::create_lock(PTS_USER_PATH . 'result_viewer_lock') == false)
{
trigger_error('The result viewer is already running.', E_USER_ERROR);
return false;
}
pts_file_io::unlink(getenv('PTS_EXT_LAUNCH_SCRIPT_DIR') . '/web-server-launcher');
if(PHP_VERSION_ID < 50400)
{
echo 'Running an unsupported PHP version. PHP 5.4+ is required to use this feature.' . PHP_EOL . PHP_EOL;
return false;
}
$server_launcher = '#!/bin/sh' . PHP_EOL;
$web_port = 0;
$remote_access = pts_config::read_user_config('PhoronixTestSuite/Options/ResultViewer/WebPort', 'RANDOM');
$fp = false;
$errno = null;
$errstr = null;
if($remote_access == 'RANDOM' || !is_numeric($remote_access))
{
do
{
if($fp)
fclose($fp);
$remote_access = rand(8000, 8999);
}
while(($fp = fsockopen('127.0.0.1', $remote_access, $errno, $errstr, 5)) != false);
echo 'Port ' . $remote_access . ' chosen as random port for this instance. Change the default port via the Phoronix Test Suite user configuration file.' . PHP_EOL;
}
$remote_access = is_numeric($remote_access) && $remote_access > 1 ? $remote_access : false;
$blocked_ports = array(2049, 3659, 4045, 6000, 9000);
if(pts_config::read_bool_config('PhoronixTestSuite/Options/ResultViewer/LimitAccessToLocalHost', 'TRUE'))
{
$server_ip = 'localhost';
}
else
{
// Allows server to be web accessible
$server_ip = '0.0.0.0';
}
if(($fp = fsockopen('127.0.0.1', $remote_access, $errno, $errstr, 5)) != false)
{
fclose($fp);
trigger_error('Port ' . $remote_access . ' is already in use by another server process. Close that process or change the Phoronix Test Suite server port via' . pts_config::get_config_file_location() . ' to proceed.', E_USER_ERROR);
return false;
}
else
{
$web_port = $remote_access;
}
// Setup server logger
define('PHOROMATIC_SERVER', true);
// Just create the logger so now it will flush it out
echo pts_core::program_title(true) . ' starting web-based result viewer on ' . $web_port . PHP_EOL;
echo 'Phoronix Test Suite Configuration File: ' . pts_config::get_config_file_location() . PHP_EOL;
// HTTP Server Setup
// PHP Web Server
echo PHP_EOL . 'Launching with PHP built-in web server.' . PHP_EOL;
$ak = pts_config::read_user_config('PhoronixTestSuite/Options/ResultViewer/AccessKey', '');
$server_launcher .= 'export PTS_VIEWER_ACCESS_KEY="' . (empty($ak) ? null : trim(hash('sha256', trim($ak)))) . '"' . PHP_EOL;
$server_launcher .= 'export PTS_VIEWER_RESULT_PATH="' . PTS_SAVE_RESULTS_PATH . '"' . PHP_EOL;
$server_launcher .= 'export PTS_VIEWER_PTS_PATH="' . getenv('PTS_DIR') . '"' . PHP_EOL;
$server_launcher .= getenv('PHP_BIN') . ' -S ' . $server_ip . ':' . $web_port . ' -t ' . PTS_CORE_PATH . 'static/dynamic-result-viewer/ &' . PHP_EOL; //2> /dev/null
$server_launcher .= 'http_server_pid=$!'. PHP_EOL;
$server_launcher .= 'sleep 1' . PHP_EOL;
$server_launcher .= 'echo "The result viewer is now accessible at: http://localhost:' . $web_port . '"' . PHP_EOL;
// Wait for input to shutdown process..
if(!PTS_IS_DAEMONIZED_SERVER_PROCESS)
{
$server_launcher .= PHP_EOL . 'echo -n "Press [ENTER] to kill server..."' . PHP_EOL;
$server_launcher .= PHP_EOL . 'read var_name';
}
else
{
$server_launcher .= PHP_EOL . 'while [ ! -f "/var/lib/phoronix-test-suite/end-phoromatic-server" ];';
$server_launcher .= PHP_EOL . 'do';
$server_launcher .= PHP_EOL . 'sleep 3';
$server_launcher .= PHP_EOL . 'done';
$server_launcher .= PHP_EOL . 'rm -f /var/lib/phoronix-test-suite/end-phoromatic-server' . PHP_EOL;
}
// Shutdown / Kill Servers
$server_launcher .= PHP_EOL . 'kill $http_server_pid';
$server_launcher .= PHP_EOL . 'rm -f ~/.phoronix-test-suite/run-lock*';
file_put_contents(getenv('PTS_EXT_LAUNCH_SCRIPT_DIR') . '/web-server-launcher', $server_launcher);
}
}
?>

View File

@@ -0,0 +1,50 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2019, Phoronix Media
Copyright (C) 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class strict_benchmark implements pts_option_interface
{
const doc_section = 'Testing';
const doc_description = 'This option is equivalent to the `benchmark` option except it enables various options to run benchmarks an extended number of times for ensuring better statistical accuracy if enforcing strict controls over the data quality, in some cases running the benchmarks for 20+ times.';
public static function command_aliases()
{
return array('test');
}
public static function argument_checks()
{
return array(
new pts_argument_check('VARIABLE_LENGTH', array('pts_types', 'identifier_to_object'), null)
);
}
public static function run($r)
{
putenv('FORCE_TIMES_TO_RUN_MULTIPLE=2');
putenv('FORCE_MIN_TIMES_TO_RUN=20');
putenv('FORCE_MIN_TIMES_TO_RUN_CUTOFF=5');
putenv('FORCE_ABSOLUTE_MIN_TIMES_TO_RUN=3');
pts_test_installer::standard_install($r);
$run_manager = new pts_test_run_manager();
$run_manager->standard_run($r);
}
}
?>

View File

@@ -0,0 +1,50 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2019, Phoronix Media
Copyright (C) 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class strict_run implements pts_option_interface
{
const doc_section = 'Testing';
const doc_description = 'This option is equivalent to the `run` option except it enables various options to run benchmarks an extended number of times for ensuring better statistical accuracy if enforcing strict controls over the data quality, in some cases running the benchmarks for 20+ times.';
public static function command_aliases()
{
return array('test');
}
public static function argument_checks()
{
return array(
new pts_argument_check('VARIABLE_LENGTH', array('pts_types', 'identifier_to_object'), null)
);
}
public static function run($r)
{
putenv('FORCE_TIMES_TO_RUN_MULTIPLE=2');
putenv('FORCE_MIN_TIMES_TO_RUN=20');
putenv('FORCE_MIN_TIMES_TO_RUN_CUTOFF=5');
putenv('FORCE_ABSOLUTE_MIN_TIMES_TO_RUN=3');
//pts_test_installer::standard_install($r);
$run_manager = new pts_test_run_manager();
$run_manager->standard_run($r);
}
}
?>

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2009 - 2017, Phoronix Media
Copyright (C) 2009 - 2017, Michael Larabel
Copyright (C) 2009 - 2019, Phoronix Media
Copyright (C) 2009 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ class system_sensors implements pts_option_interface
else
{
$sensor_object = new $sensor[2](0, $device);
$tabled[] = array(pts_client::cli_just_bold(phodevi::sensor_object_name($sensor_object) . ': '), phodevi::read_sensor($sensor_object), pts_client::cli_colored_text(phodevi::read_sensor_object_unit($sensor_object), 'gray'));
$tabled[] = array(pts_client::cli_just_italic(phodevi::sensor_object_identifier($sensor_object)) . ' ', pts_client::cli_just_bold(phodevi::sensor_object_name($sensor_object) . ': '), phodevi::read_sensor($sensor_object), pts_client::cli_colored_text(phodevi::read_sensor_object_unit($sensor_object), 'gray'));
}
}
}

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2017, Phoronix Media
Copyright (C) 2017, Michael Larabel
Copyright (C) 2017 - 2019, Phoronix Media
Copyright (C) 2017 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,11 +23,11 @@
class unload_module implements pts_option_interface
{
const doc_section = 'Modules';
const doc_description = 'This option can be used for easily removing a module from the LoadModules list in the Phoronix Test Suite user configuration file. That list controls what modules are automatically loaded on start-up of the Phoronix Test Suite.';
const doc_description = 'This option can be used for easily removing a module from the AutoLoadModules list in the Phoronix Test Suite user configuration file. That list controls what modules are automatically loaded on start-up of the Phoronix Test Suite.';
public static function run($r)
{
$loaded_modules = pts_strings::comma_explode(pts_config::read_user_config('PhoronixTestSuite/Options/Modules/LoadModules', null));
$loaded_modules = pts_strings::comma_explode(pts_config::read_user_config('PhoronixTestSuite/Options/Modules/AutoLoadModules', null));
echo PHP_EOL . 'Currently Loaded Modules: ' . PHP_EOL;
echo pts_user_io::display_text_list($loaded_modules);
@@ -52,7 +52,7 @@ class unload_module implements pts_option_interface
}
}
$new_options = array('PhoronixTestSuite/Options/Modules/LoadModules' => implode(', ', $loaded_modules));
$new_options = array('PhoronixTestSuite/Options/Modules/AutoLoadModules' => implode(', ', $loaded_modules));
pts_config::user_config_generate($new_options);
echo PHP_EOL . 'New user configuration file written.' . PHP_EOL . PHP_EOL;
}

View File

@@ -1,102 +0,0 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2017 - 2018, Phoronix Media
Copyright (C) 2017 - 2018, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class winners_and_losers implements pts_option_interface
{
const doc_section = 'Result Management';
const doc_description = 'This option is used if you wish to analyze a result file to see which runs produced the most wins/losses of those result identifiers in the saved file.';
public static function argument_checks()
{
return array(
new pts_argument_check(0, array('pts_types', 'is_result_file'), null)
);
}
public static function run($args)
{
$result_file = new pts_result_file($args[0]);
$result_file_identifiers = $result_file->get_system_identifiers();
if(count($result_file_identifiers) < 2)
{
echo PHP_EOL . 'There are not multiple test runs in this result file.' . PHP_EOL;
return false;
}
echo pts_client::cli_colored_text($result_file->get_title(), 'gray', true) . PHP_EOL;
echo pts_client::cli_colored_text('RESULT COUNT: ', 'cyan', true) . $result_file->get_test_count() . PHP_EOL . PHP_EOL;
$winners = array();
$losers = array();
$tests_counted = 0;
foreach($result_file->get_result_objects() as $result)
{
if($result->test_result_buffer->get_count() < 2)
{
continue;
}
$tests_counted++;
$winner = $result->get_result_first();
$loser = $result->get_result_last();
if(!isset($winners[$winner]))
{
$winners[$winner] = 1;
}
else
{
$winners[$winner]++;
}
if(!isset($losers[$loser]))
{
$losers[$loser] = 1;
}
else
{
$losers[$loser]++;
}
}
arsort($winners);
arsort($losers);
echo pts_client::cli_colored_text('WINS:', 'green', true) . PHP_EOL;
$table = array();
foreach($winners as $identifier => $count)
{
$table[] = array($identifier . ': ', $count, ' [' . pts_math::set_precision($count / $tests_counted * 100, 1) . '%]');
}
echo pts_user_io::display_text_table($table) . PHP_EOL;
echo PHP_EOL . pts_client::cli_colored_text('LOSSES: ', 'red', true) . PHP_EOL;
$table = array();
foreach($losers as $identifier => $count)
{
$table[] = array($identifier . ': ', $count, ' [' . pts_math::set_precision($count / $tests_counted * 100, 1) . '%]');
}
echo pts_user_io::display_text_table($table) . PHP_EOL;
echo PHP_EOL;
}
}
?>

View File

@@ -0,0 +1,53 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2017 - 2019, Phoronix Media
Copyright (C) 2017 - 2019, Michael Larabel
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class wins_and_losses implements pts_option_interface
{
const doc_section = 'Result Management';
const doc_description = 'This option is used if you wish to analyze a result file to see which runs produced the most wins/losses of those result identifiers in the saved file.';
public static function command_aliases()
{
return array('winners_and_losers');
}
public static function argument_checks()
{
return array(
new pts_argument_check(0, array('pts_types', 'is_result_file'), null)
);
}
public static function run($args)
{
$result_file = new pts_result_file($args[0]);
echo ' ' . pts_client::cli_colored_text($result_file->get_title(), 'gray', true) . PHP_EOL . PHP_EOL;
if($result_file->get_system_count() < 2)
{
echo PHP_EOL . 'There are not multiple test runs in this result file.' . PHP_EOL;
return false;
}
echo pts_result_file_analyzer::display_results_wins_losses($result_file);
}
}
?>

View File

@@ -36,11 +36,16 @@ class microsoft_dependency_handler implements pts_dependency_handler
$cwd = getcwd();
$cygwin_location = self::get_cygwin();
chdir(dirname($cygwin_location));
echo PHP_EOL . 'Configuring Cygwin...' . PHP_EOL;
echo PHP_EOL . 'Configuring Cygwin for handling of some portable test scripts, extracting .tar.gz/xz files, and other script helpers... More details on the Phoronix Test Suite for Windows @ https://github.com/phoronix-test-suite/phoronix-test-suite/blob/master/documentation/phoronix-test-suite-window.md ' . PHP_EOL;
shell_exec(basename($cygwin_location) . ' -q -P unzip -P wget -P bc -P which -W');
chdir($cwd);
}
if(!is_file(self::file_download_location() . 'mdstool-cli-20190519.exe'))
{
pts_network::download_file('http://www.phoronix-test-suite.com/benchmark-files/mdstool-cli-20190519.exe', self::file_download_location() . 'mdstool-cli.exe');
}
if(is_file('C:\cygwin64\etc\fstab') && stripos(file_get_contents('C:\cygwin64\etc\fstab'), 'noacl') === false)
{
// noacl is needed to not mess with file permissions
@@ -123,17 +128,19 @@ class microsoft_dependency_handler implements pts_dependency_handler
foreach($files_to_download as $url)
{
$download_destination = $download_location . basename($url);
echo $url . PHP_EOL . ' - ' . $download_destination . PHP_EOL;
// echo ' ' . $url . ' - ' . $download_destination . PHP_EOL;
if(is_file($download_destination))
{
echo 'File Already Present' . PHP_EOL;
}
else
{
echo 'Downloading...' . PHP_EOL;
//echo 'Downloading...' . PHP_EOL;
$download_package = new pts_test_file_download($url);
pts_client::$display->test_install_download_file('DOWNLOAD', $download_package);
pts_network::download_file($url, $download_destination);
}
echo 'Executing...' . PHP_EOL;
//echo 'Executing...' . PHP_EOL;
shell_exec(basename($url));
}
}

View File

@@ -3,5 +3,5 @@
# Arch package installation
echo "Please enter your root password below:" 1>&2
su root -c "pacman -Sy --noconfirm --needed $*"
su root -c "pacman -Sy --noconfirm --needed --asdeps $*"
exit

View File

@@ -4,6 +4,9 @@ if [ -x /usr/bin/aptitude ]; then
# aptitude is nice since it doesn't fail if a non-existant package is hit
# See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503215
su -c "aptitude -y install $*"
elif [ `whoami` = "admin" ] && [ -x /usr/bin/sudo ]; then
# Amazon EC2 is admin user, sudo works
sudo apt-get -y --ignore-missing install $*
else
su -c "apt-get -y --ignore-missing install $*"
fi

View File

@@ -3,5 +3,11 @@
# Mandriva package installation
echo "Please enter your root password below:" 1>&2
su - root -c "urpmi --auto $*"
if which dnf >/dev/null 2>&1 ;
then
su - root -c "dnf -y install $*"
else
su - root -c "urpmi --auto $*"
fi
exit

View File

@@ -9,6 +9,7 @@ elif [ `whoami` != "root" ] && [ ! -z "$DISPLAY" ]; then
elif [ -x /usr/bin/sudo ]; then
ROOT="/usr/bin/sudo"
fi
$ROOT -- su -c "apt-get -y --ignore-missing install $*"
elif [ -z "$DISPLAY" ]; then
sudo -- apt-get -y --ignore-missing install $*
else
@@ -20,6 +21,4 @@ fi
# aptitude is nice since it doesn't fail if a non-existant package is hit
# See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=503215
# $ROOT -- "aptitude -y install $*"
#else
$ROOT -- su -c "apt-get -y --ignore-missing install $*"
#fi

View File

@@ -9,8 +9,8 @@
</Information>
<Package>
<GenericName>common-dependencies</GenericName>
<PackageName>unzip</PackageName>
<FileCheck>unzip</FileCheck>
<PackageName>unzip bash</PackageName>
<FileCheck>unzip bash</FileCheck>
</Package>
<Package>
<GenericName>gtk-development</GenericName>
@@ -38,16 +38,12 @@
</Package>
<Package>
<GenericName>build-utilities</GenericName>
<PackageName>gcc make build-base automake autoconf</PackageName>
<PackageName>gcc make build-base automake autoconf linux-headers</PackageName>
</Package>
<Package>
<GenericName>cairo-development</GenericName>
<PackageName>cairo</PackageName>
</Package>
<Package>
<GenericName>xorg-development</GenericName>
<PackageName>xorg-server</PackageName>
</Package>
<Package>
<GenericName>tiff</GenericName>
<PackageName>tiff</PackageName>
@@ -72,6 +68,10 @@
<GenericName>maven</GenericName>
<PackageName>maven</PackageName>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>expat</PackageName>
</Package>
<Package>
<GenericName>portaudio-development</GenericName>
<PackageName>portaudio</PackageName>
@@ -174,7 +174,7 @@
</Package>
<Package>
<GenericName>python</GenericName>
<PackageName>python</PackageName>
<PackageName>python python3</PackageName>
</Package>
<Package>
<GenericName>yasm</GenericName>

View File

@@ -6,11 +6,6 @@
<Name>Arch Linux</Name>
<PackageManager>pacman</PackageManager>
</Information>
<Package>
<GenericName>common-dependencies</GenericName>
<PackageName>mesa-demos</PackageName>
<FileCheck>glxinfo</FileCheck>
</Package>
<Package>
<GenericName>gtk-development</GenericName>
<PackageName>gtk2</PackageName>
@@ -35,6 +30,10 @@
<GenericName>pcre</GenericName>
<PackageName>pcre</PackageName>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>expat</PackageName>
</Package>
<Package>
<GenericName>nasm</GenericName>
<PackageName>nasm</PackageName>
@@ -82,7 +81,7 @@
</Package>
<Package>
<GenericName>java</GenericName>
<PackageName>jdk8-openjdk</PackageName>
<PackageName>jdk11-openjdk</PackageName>
</Package>
<Package>
<GenericName>maven</GenericName>
@@ -106,7 +105,7 @@
</Package>
<Package>
<GenericName>zlib-development</GenericName>
<PackageName>zlib1</PackageName>
<PackageName>zlib</PackageName>
</Package>
<Package>
<GenericName>jpeg-development</GenericName>
@@ -116,6 +115,10 @@
<GenericName>bc</GenericName>
<PackageName>bc</PackageName>
</Package>
<Package>
<GenericName>freeimage</GenericName>
<PackageName>freeimage</PackageName>
</Package>
<Package>
<GenericName>perl</GenericName>
<PackageName>perl</PackageName>
@@ -145,6 +148,10 @@
<GenericName>qt4-development</GenericName>
<PackageName>qt4</PackageName>
</Package>
<Package>
<GenericName>qt5-development</GenericName>
<PackageName>qt5-base qt5-examples</PackageName>
</Package>
<Package>
<GenericName>autoconf</GenericName>
<PackageName>autoconf</PackageName>
@@ -205,11 +212,12 @@
</Package>
<Package>
<GenericName>python</GenericName>
<PackageName>python</PackageName>
<PackageName>python python-pip</PackageName>
<FileCheck>pip3</FileCheck>
</Package>
<Package>
<GenericName>yasm</GenericName>
<PackageName>yasm</PackageName>
<PackageName>yasm nasm</PackageName>
</Package>
<Package>
<GenericName>lib3ds</GenericName>
@@ -239,6 +247,10 @@
<GenericName>openmpi-development</GenericName>
<PackageName>openmpi</PackageName>
</Package>
<Package>
<GenericName>libevent</GenericName>
<PackageName>libevent</PackageName>
</Package>
<Package>
<GenericName>dune</GenericName>
<PackageName>dune-common dune-grid dune-istl</PackageName>
@@ -277,7 +289,7 @@
</Package>
<Package>
<GenericName>python-sklearn</GenericName>
<PackageName>python2-scikit-learn</PackageName>
<PackageName>python-scikit-learn</PackageName>
</Package>
<Package>
<GenericName>V8</GenericName>
@@ -291,5 +303,13 @@
<GenericName>wine</GenericName>
<PackageName>wine</PackageName>
</Package>
<Package>
<GenericName>mongodb</GenericName>
<PackageName>mongodb</PackageName>
</Package>
<Package>
<GenericName>node-npm</GenericName>
<PackageName>npm</PackageName>
</Package>
</ExternalDependencies>
</PhoronixTestSuite>

View File

@@ -38,6 +38,10 @@
<GenericName>build-utilities</GenericName>
<PackageName>autoconf automake gcc</PackageName>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>expat</PackageName>
</Package>
<Package>
<GenericName>cairo-development</GenericName>
<PackageName>cairo</PackageName>
@@ -230,6 +234,10 @@
<GenericName>redis-server</GenericName>
<PackageName>redis</PackageName>
</Package>
<Package>
<GenericName>libevent</GenericName>
<PackageName>libevent</PackageName>
</Package>
<Package>
<GenericName>opencv</GenericName>
<PackageName>opencv</PackageName>
@@ -250,5 +258,13 @@
<GenericName>wine</GenericName>
<PackageName>wine</PackageName>
</Package>
<Package>
<GenericName>mongodb</GenericName>
<PackageName>mongodb</PackageName>
</Package>
<Package>
<GenericName>node-npm</GenericName>
<PackageName>npm</PackageName>
</Package>
</ExternalDependencies>
</PhoronixTestSuite>

View File

@@ -28,6 +28,10 @@
<GenericName>java</GenericName>
<PackageName>java/openjdk8</PackageName>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>expat</PackageName>
</Package>
<Package>
<GenericName>maven</GenericName>
<PackageName>maven</PackageName>
@@ -50,8 +54,8 @@
</Package>
<Package>
<GenericName>build-utilities</GenericName>
<PackageName>autoconf automake gmake bash</PackageName>
<FileCheck>autoconf, gmake, bash</FileCheck>
<PackageName>autoconf automake gmake bash pkgconf</PackageName>
<FileCheck>autoconf, gmake, bash, pkgconf</FileCheck>
</Package>
<Package>
<GenericName>nasm</GenericName>
@@ -139,11 +143,11 @@
</Package>
<Package>
<GenericName>yasm</GenericName>
<PackageName>yasm</PackageName>
<PackageName>nasm yasm</PackageName>
</Package>
<Package>
<GenericName>gmp-library</GenericName>
<PackageName>fgmp</PackageName>
<PackageName>gmp</PackageName>
</Package>
<Package>
<GenericName>subversion</GenericName>
@@ -216,5 +220,17 @@
<GenericName>Rscript</GenericName>
<PackageName>R</PackageName>
</Package>
<Package>
<GenericName>mongodb</GenericName>
<PackageName>mongodb</PackageName>
</Package>
<Package>
<GenericName>node-npm</GenericName>
<PackageName>npm</PackageName>
</Package>
<Package>
<GenericName>rust</GenericName>
<PackageName>rust</PackageName>
</Package>
</ExternalDependencies>
</PhoronixTestSuite>

View File

@@ -9,8 +9,8 @@
</Information>
<Package>
<GenericName>common-dependencies</GenericName>
<PackageName>unzip</PackageName>
<FileCheck>unzip</FileCheck>
<PackageName>unzip bzip2</PackageName>
<FileCheck>unzip, bzip2</FileCheck>
</Package>
<Package>
<GenericName>32bit-compatibility</GenericName>
@@ -42,6 +42,10 @@
<GenericName>nasm</GenericName>
<PackageName>nasm</PackageName>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>expat</PackageName>
</Package>
<Package>
<GenericName>vulkan-development</GenericName>
<PackageName>vulkan-devel</PackageName>
@@ -64,7 +68,7 @@
</Package>
<Package>
<GenericName>build-utilities</GenericName>
<PackageName>gcc gcc-c++ make autoconf automake glibc-static patch</PackageName>
<PackageName>gcc gcc-c++ make autoconf automake glibc-static patch expat-devel</PackageName>
<FileCheck>gcc, c++</FileCheck>
</Package>
<Package>
@@ -163,6 +167,10 @@
<GenericName>qt4-development</GenericName>
<PackageName>qt4-devel</PackageName>
</Package>
<Package>
<GenericName>qt5-development</GenericName>
<PackageName>qt5-qtbase-devel qt5-devel</PackageName>
</Package>
<Package>
<GenericName>autoconf</GenericName>
<PackageName>autoconf</PackageName>
@@ -171,6 +179,10 @@
<GenericName>libtool</GenericName>
<PackageName>libtool</PackageName>
</Package>
<Package>
<GenericName>libevent</GenericName>
<PackageName>libevent-devel</PackageName>
</Package>
<Package>
<GenericName>ncurses-development</GenericName>
<PackageName>ncurses-devel</PackageName>
@@ -246,7 +258,7 @@
</Package>
<Package>
<GenericName>yasm</GenericName>
<PackageName>yasm</PackageName>
<PackageName>yasm nasm</PackageName>
</Package>
<Package>
<GenericName>lib3ds</GenericName>
@@ -324,5 +336,13 @@
<GenericName>wine</GenericName>
<PackageName>wine</PackageName>
</Package>
<Package>
<GenericName>mongodb</GenericName>
<PackageName>mongodb</PackageName>
</Package>
<Package>
<GenericName>node-npm</GenericName>
<PackageName>npm</PackageName>
</Package>
</ExternalDependencies>
</PhoronixTestSuite>

View File

@@ -247,6 +247,12 @@
<PossibleNames>libqt4-dev, libqt4-devel, qt4-devel</PossibleNames>
<FileCheck>qmake OR qmake-qt4</FileCheck>
</Package>
<Package>
<GenericName>qt5-development</GenericName>
<Title>Qt5 Development Files</Title>
<PossibleNames>libqt5-dev, qt5-devel</PossibleNames>
<FileCheck>qmake</FileCheck>
</Package>
<Package>
<GenericName>autoconf</GenericName>
<Title>Autoconf</Title>
@@ -257,7 +263,13 @@
<GenericName>libtool</GenericName>
<Title>Libtool</Title>
<PossibleNames>libtool</PossibleNames>
<FileCheck>libtool</FileCheck>
<FileCheck>libtool OR libtoolize</FileCheck>
</Package>
<Package>
<GenericName>libevent</GenericName>
<Title>Libevent</Title>
<PossibleNames>libevent, libevent-dev</PossibleNames>
<FileCheck>event.h</FileCheck>
</Package>
<Package>
<GenericName>popt</GenericName>
@@ -342,7 +354,7 @@
<GenericName>python</GenericName>
<Title>Python</Title>
<PossibleNames>python</PossibleNames>
<FileCheck>python</FileCheck>
<FileCheck>python OR python3 OR python2</FileCheck>
</Package>
<Package>
<GenericName>python-boost-development</GenericName>
@@ -506,5 +518,23 @@
<PossibleNames>wine</PossibleNames>
<FileCheck>wine</FileCheck>
</Package>
<Package>
<GenericName>mongodb</GenericName>
<Title>MongoDB</Title>
<PossibleNames>mongodb</PossibleNames>
<FileCheck>mongo</FileCheck>
</Package>
<Package>
<GenericName>node-npm</GenericName>
<Title>Node.js + NPM</Title>
<PossibleNames>npm, nodejs</PossibleNames>
<FileCheck>npm</FileCheck>
</Package>
<Package>
<GenericName>expat</GenericName>
<Title>Expat XML Parser Library</Title>
<PossibleNames>libexpat1-dev, expat</PossibleNames>
<FileCheck>expat.h</FileCheck>
</Package>
</ExternalDependencies>
</PhoronixTestSuite>

View File

@@ -30,6 +30,10 @@
<GenericName>openssl-development</GenericName>
<PackageName>dev-libs/openssl</PackageName>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>dev-libs/expat</PackageName>
</Package>
<Package>
<GenericName>cairo-development</GenericName>
<PackageName>x11-libs/cairo</PackageName>
@@ -304,6 +308,10 @@
<GenericName>V8</GenericName>
<PackageName>dev-lang/v8</PackageName>
</Package>
<Package>
<GenericName>libevent</GenericName>
<PackageName>dev-libs/libevent</PackageName>
</Package>
<Package>
<GenericName>ruby</GenericName>
<PackageName>dev-lang/ruby</PackageName>
@@ -312,5 +320,9 @@
<GenericName>wine</GenericName>
<PackageName>virtual/wine</PackageName>
</Package>
<Package>
<GenericName>mongodb</GenericName>
<PackageName>dev-db/mongodb</PackageName>
</Package>
</ExternalDependencies>
</PhoronixTestSuite>

View File

@@ -36,6 +36,10 @@
<GenericName>libpng-development</GenericName>
<PackageName>libpng</PackageName>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>expat</PackageName>
</Package>
<Package>
<GenericName>nasm</GenericName>
<PackageName>nasm</PackageName>
@@ -188,5 +192,9 @@
<GenericName>git</GenericName>
<PackageName>git-core</PackageName>
</Package>
<Package>
<GenericName>node-npm</GenericName>
<PackageName>npm</PackageName>
</Package>
</ExternalDependencies>
</PhoronixTestSuite>

View File

@@ -4,7 +4,7 @@
<ExternalDependencies>
<Information>
<Name>Mandriva</Name>
<Aliases>Mageia, OpenMandriva</Aliases>
<Aliases>Mageia, OpenMandriva, OpenMandrivaLinux</Aliases>
<PackageManager>urpmi</PackageManager>
</Information>
<Package>
@@ -35,6 +35,10 @@
<GenericName>p7zip</GenericName>
<PackageName>p7zip</PackageName>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>expat</PackageName>
</Package>
<Package>
<GenericName>nasm</GenericName>
<PackageName>nasm</PackageName>
@@ -53,8 +57,8 @@
</Package>
<Package>
<GenericName>build-utilities</GenericName>
<PackageName>task-c-devel task-c++-devel</PackageName>
<FileCheck>/usr/bin/gcc, /usr/bin/bison, /usr/bin/flex</FileCheck>
<PackageName>clang automake autoconf bison flex</PackageName>
<FileCheck>/usr/bin/clang, /usr/bin/bison, /usr/bin/flex</FileCheck>
</Package>
<Package>
<GenericName>xorg-development</GenericName>
@@ -267,5 +271,9 @@
<GenericName>wine</GenericName>
<PackageName>wine</PackageName>
</Package>
<Package>
<GenericName>node-npm</GenericName>
<PackageName>npm</PackageName>
</Package>
</ExternalDependencies>
</PhoronixTestSuite>

View File

@@ -18,17 +18,17 @@
</Package>
<Package>
<GenericName>java</GenericName>
<PackageName>https://github.com/ojdkbuild/ojdkbuild/releases/download/9.0.4-1/java-9-openjdk-9.0.4-1.b11.ojdkbuild.windows.x86_64.msi</PackageName>
<PackageName>https://github.com/ojdkbuild/ojdkbuild/releases/download/11.0.1-1/java-11-openjdk-11.0.1.13-1.ojdkbuild.windows.x86_64.msi</PackageName>
<FileCheck>C:\Program Files\ojdkbuild OR C:\Program Files\Java</FileCheck>
</Package>
<Package>
<GenericName>golang</GenericName>
<PackageName>https://dl.google.com/go/go1.10.windows-amd64.msi</PackageName>
<PackageName>https://dl.google.com/go/go1.11.4.windows-amd64.msi</PackageName>
<FileCheck>C:\Go</FileCheck>
</Package>
<Package>
<GenericName>perl</GenericName>
<PackageName>http://strawberryperl.com/download/5.26.1.1/strawberry-perl-5.26.1.1-64bit.msi</PackageName>
<PackageName>http://strawberryperl.com/download/5.28.1.1/strawberry-perl-5.28.1.1-64bit.msi</PackageName>
<FileCheck>C:\Strawberry\perl\bin</FileCheck>
</Package>
<Package>
@@ -38,12 +38,12 @@
</Package>
<Package>
<GenericName>python</GenericName>
<PackageName>https://www.python.org/ftp/python/3.6.4/python-3.6.4-amd64.exe https://www.python.org/ftp/python/2.7.14/python-2.7.14.amd64.msi python2</PackageName>
<PackageName>https://www.python.org/ftp/python/3.7.1/python-3.7.1-amd64.exe https://www.python.org/ftp/python/2.7.15/python-2.7.15.amd64.msi python2 python37 python37-pip</PackageName>
<FileCheck>C:\Python27</FileCheck>
</Package>
<Package>
<GenericName>git</GenericName>
<PackageName>https://github.com/git-for-windows/git/releases/download/v2.16.2.windows.1/Git-2.16.2-64-bit.exe</PackageName>
<PackageName>https://github.com/git-for-windows/git/releases/download/v2.20.1.windows.1/Git-2.20.1-64-bit.exe</PackageName>
<FileCheck>C:\Program Files\Git</FileCheck>
</Package>
<Package>
@@ -61,5 +61,34 @@
<PackageName>cmake</PackageName>
<FileCheck>C:\cygwin64\bin\cmake.exe</FileCheck>
</Package>
<Package>
<GenericName>node-npm</GenericName>
<PackageName>https://nodejs.org/dist/latest-v11.x/node-v11.5.0-x64.msi</PackageName>
<FileCheck>C:\Program Files\nodejs</FileCheck>
</Package>
<Package>
<GenericName>tesseract</GenericName>
<PackageName>https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v4.0.0.20181030.exe</PackageName>
<FileCheck>C:\Program Files (x86)\Tesseract-OCR</FileCheck>
</Package>
<Package>
<GenericName>firefox</GenericName>
<PackageName>https://ftp.mozilla.org/pub/firefox/releases/65.0.2/win64/en-US/Firefox%20Setup%2065.0.2.exe</PackageName>
<FileCheck>C:\Program Files\Mozilla Firefox</FileCheck>
</Package>
<Package>
<GenericName>google-chrome</GenericName>
<PackageName></PackageName>
<FileCheck>C:\Program Files (x86)\Google\Chrome</FileCheck>
</Package>
<Package>
<GenericName>rust</GenericName>
<PackageName>https://static.rust-lang.org/dist/rust-beta-x86_64-pc-windows-msvc.msi</PackageName>
<FileCheck>rustc.exe</FileCheck>
</Package>
<Package>
<GenericName>opencv</GenericName>
<PackageName>https://github.com/opencv/opencv/releases/download/3.4.3/opencv-3.4.3-vc14_vc15.exe</PackageName>
</Package>
</ExternalDependencies>
</PhoronixTestSuite>

View File

@@ -23,6 +23,10 @@
<GenericName>java</GenericName>
<PackageName>openjdk7-bin</PackageName>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>expat</PackageName>
</Package>
<Package>
<GenericName>maven</GenericName>
<PackageName>maven</PackageName>

View File

@@ -21,6 +21,10 @@
<PackageName>SDL SDL_net SDL_image</PackageName>
<FileCheck>/usr/pkg/include/SDL/SDL.h, /usr/pkg/include/SDL/SDL_net.h, /usr/pkg/include/SDL/SDL_image.h</FileCheck>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>expat</PackageName>
</Package>
<Package>
<GenericName>glut</GenericName>
<PackageName>glut</PackageName>

View File

@@ -9,7 +9,7 @@
</Information>
<Package>
<GenericName>common-dependencies</GenericName>
<PackageName>dmidecode Mesa-demo-x</PackageName>
<PackageName>Mesa-demo-x</PackageName>
<FileCheck>glxinfo</FileCheck>
</Package>
<Package>
@@ -28,6 +28,10 @@
<GenericName>glut</GenericName>
<PackageName>freeglut-devel</PackageName>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>expat</PackageName>
</Package>
<Package>
<GenericName>openssl-development</GenericName>
<PackageName>libopenssl-devel</PackageName>
@@ -306,9 +310,21 @@
<GenericName>ruby</GenericName>
<PackageName>ruby</PackageName>
</Package>
<Package>
<GenericName>libevent</GenericName>
<PackageName>libevent-devel</PackageName>
</Package>
<Package>
<GenericName>wine</GenericName>
<PackageName>wine</PackageName>
</Package>
<Package>
<GenericName>mongodb</GenericName>
<PackageName>mongodb</PackageName>
</Package>
<Package>
<GenericName>node-npm</GenericName>
<PackageName>npm</PackageName>
</Package>
</ExternalDependencies>
</PhoronixTestSuite>

View File

@@ -24,6 +24,10 @@
<PackageName>glut</PackageName>
<FileCheck>/usr/lib/libglut.so.3, /usr/include/GL/glut.h</FileCheck>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>expat</PackageName>
</Package>
<Package>
<GenericName>csh</GenericName>
<PackageName>tcsh</PackageName>

View File

@@ -28,6 +28,10 @@
<PackageName>libcairo-devel</PackageName>
<FileCheck>/usr/include/cairo/cairo.h</FileCheck>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>expat</PackageName>
</Package>
<Package>
<GenericName>glut</GenericName>
<PackageName>libmesaglut3-devel</PackageName>

View File

@@ -165,6 +165,10 @@
<GenericName>curl</GenericName>
<PackageName>curl-devel</PackageName>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>expat-devel</PackageName>
</Package>
<Package>
<GenericName>fftw3-development</GenericName>
<PackageName>fftw-devel</PackageName>

View File

@@ -60,7 +60,7 @@
<Package>
<GenericName>build-utilities</GenericName>
<PackageName>build-essential autoconf</PackageName>
<FileCheck>/usr/share/build-essential</FileCheck>
<FileCheck>/usr/share/build-essential, autoconf</FileCheck>
</Package>
<Package>
<GenericName>cairo-development</GenericName>
@@ -89,7 +89,7 @@
</Package>
<Package>
<GenericName>java</GenericName>
<PackageName>openjdk-8-jdk</PackageName>
<PackageName>openjdk-11-jdk</PackageName>
</Package>
<Package>
<GenericName>maven</GenericName>
@@ -183,6 +183,11 @@
<PackageName>libqt4-dev libqt4-opengl-dev</PackageName>
<FileCheck>qmake-qt4, qt4/Qt/qgl.h</FileCheck>
</Package>
<Package>
<GenericName>qt5-development</GenericName>
<PackageName>qml-module-qtquick2 qtdeclarative5-dev qt5-default qtbase5-dev</PackageName>
<FileCheck>qmake</FileCheck>
</Package>
<Package>
<GenericName>autoconf</GenericName>
<PackageName>autoconf</PackageName>
@@ -191,6 +196,10 @@
<GenericName>libtool</GenericName>
<PackageName>libtool</PackageName>
</Package>
<Package>
<GenericName>libevent</GenericName>
<PackageName>libevent-dev</PackageName>
</Package>
<Package>
<GenericName>ncurses-development</GenericName>
<PackageName>libncurses5-dev</PackageName>
@@ -205,7 +214,7 @@
</Package>
<Package>
<GenericName>curl</GenericName>
<PackageName>libcurl3 curl libcurl4-openssl-dev</PackageName>
<PackageName>curl libcurl4-openssl-dev</PackageName>
</Package>
<Package>
<GenericName>fftw3-development</GenericName>
@@ -213,7 +222,7 @@
</Package>
<Package>
<GenericName>blas-development</GenericName>
<PackageName>libblas-dev</PackageName>
<PackageName>libblas-dev libopenblas-base libopenblas-dev</PackageName>
</Package>
<Package>
<GenericName>lapack-development</GenericName>
@@ -260,7 +269,8 @@
</Package>
<Package>
<GenericName>python</GenericName>
<PackageName>python python3-pip</PackageName>
<PackageName>python python-pip python3-pip</PackageName>
<FileCheck>pip3, python, python3</FileCheck>
</Package>
<Package>
<GenericName>python-boost-development</GenericName>
@@ -273,11 +283,11 @@
<Package>
<GenericName>python-numpy</GenericName>
<PackageName>python-numpy</PackageName>
<FileCheck>/usr/share/pyshared/numpy/version.py</FileCheck>
<FileCheck>/usr/share/pyshared/numpy/version.py OR /usr/lib/python2.7/dist-packages/numpy/version.py</FileCheck>
</Package>
<Package>
<GenericName>yasm</GenericName>
<PackageName>yasm</PackageName>
<PackageName>yasm nasm</PackageName>
</Package>
<Package>
<GenericName>gmp-library</GenericName>
@@ -373,5 +383,17 @@
<GenericName>wine</GenericName>
<PackageName>wine</PackageName>
</Package>
<Package>
<GenericName>mongodb</GenericName>
<PackageName>mongodb</PackageName>
</Package>
<Package>
<GenericName>node-npm</GenericName>
<PackageName>npm</PackageName>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>libexpat1-dev</PackageName>
</Package>
</ExternalDependencies>
</PhoronixTestSuite>

View File

@@ -112,6 +112,10 @@
<GenericName>smartmontools</GenericName>
<PackageName>smartmontools</PackageName>
</Package>
<Package>
<GenericName>expat</GenericName>
<PackageName>expat</PackageName>
</Package>
<Package>
<GenericName>zlib-development</GenericName>
<PackageName>zlib-devel</PackageName>

View File

@@ -50,18 +50,9 @@ class graphics_override extends pts_module_interface
shell_exec("nvidia-settings --assign " . $attribute . "=" . $value . " 2>&1");
}
}
public static function set_amd_pcsdb($attribute, $value)
{
// Sets a value for AMD's PCSDB, Persistent Configuration Store Database
if(phodevi::is_ati_graphics() && phodevi::is_linux() && !empty($value))
{
$DISPLAY = substr(pts_client::read_env("DISPLAY"), 1, 1);
$info = shell_exec("DISPLAY=:" . $DISPLAY . " aticonfig --set-pcs-val=" . $attribute . "," . $value . " 2>&1");
}
}
public static function __pre_run_process()
{
if(!(phodevi::is_nvidia_graphics() || (phodevi::is_ati_graphics() && phodevi::is_linux())))
if(!phodevi::is_nvidia_graphics())
{
echo "\nNo supported driver found for graphics_override module!\n";
return pts_module::MODULE_UNLOAD; // Not using a supported driver, quit the module
@@ -100,34 +91,6 @@ class graphics_override extends pts_module_interface
self::set_nvidia_extension("FSAAAppControlled", 0);
}
}
else if(phodevi::is_ati_graphics())
{
self::$preset_aa = phodevi_linux_parser::read_amd_pcsdb("OpenGL,AntiAliasSamples");
self::$preset_aa_control = phodevi_linux_parser::read_amd_pcsdb("OpenGL,AAF");
switch($force_aa)
{
case 2:
$ati_aa = "0x00000002";
break;
case 4:
$ati_aa = "0x00000004";
break;
case 8:
$ati_aa = "0x00000008";
break;
case 16:
echo "\nThe ATI fglrx driver currently does not support 16x AA! Defaulting to 8x AA!\n";
$ati_aa = "0x00000008";
break;
}
if(isset($ati_aa))
{
self::set_amd_pcsdb("OpenGL,AntiAliasSamples", $ati_aa);
self::set_amd_pcsdb("OpenGL,AAF", "0x00000000");
}
}
}
if($force_af !== FALSE && in_array($force_af, self::$supported_af_levels))
@@ -160,31 +123,6 @@ class graphics_override extends pts_module_interface
self::set_nvidia_extension("LogAnisoAppControlled", 0);
}
}
else if(phodevi::is_ati_graphics())
{
self::$preset_af = phodevi_linux_parser::read_amd_pcsdb("OpenGL,AnisoDegree");
switch($force_af)
{
case 2:
$ati_af = "0x00000002";
break;
case 4:
$ati_af = "0x00000004";
break;
case 8:
$ati_af = "0x00000008";
break;
case 16:
$ati_af = "0x00000010";
break;
}
if(isset($ati_af))
{
self::set_amd_pcsdb("OpenGL,AnisoDegree", $ati_af);
}
}
}
}
public static function __post_option_process()
@@ -202,18 +140,6 @@ class graphics_override extends pts_module_interface
self::set_nvidia_extension("LogAnisoAppControlled", self::$preset_af_control);
}
}
else if(phodevi::is_ati_graphics())
{
if(self::$preset_aa !== FALSE)
{
self::set_amd_pcsdb("OpenGL,AntiAliasSamples", self::$preset_aa);
self::set_amd_pcsdb("OpenGL,AAF", self::$preset_aa_control);
}
if(self::$preset_af !== FALSE)
{
self::set_amd_pcsdb("OpenGL,AnisoDegree", self::$preset_af);
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More