Compare commits

...

1707 Commits

Author SHA1 Message Date
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
Michael Larabel
a86f4b31b7 Prep Phoronix Test Suite 8.0.1 2018-06-26 12:19:28 -05:00
Michael Larabel
866ca38051 use_wine: On test profiles having a wine external dependency, reset the os_under_test at install time too 2018-06-21 08:31:02 -05:00
Michael Larabel
e2323f8ac1 pts-core: On __post_test_install() to modules, pass the test install request object rather than just the identifier 2018-06-21 08:30:20 -05:00
Michael Larabel
852d7e06e5 pts-core: Pass the test install request object to the __pre_test_install() module call 2018-06-21 08:28:35 -05:00
Michael Larabel
690e89e46b Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2018-06-21 07:36:15 -05:00
Michael Larabel
cfd9808f8d pts-core: Fix skip-test behavior 2018-06-21 07:35:45 -05:00
Michael Larabel
b122474ffb TODO update 2018-06-21 07:35:35 -05:00
Michael Larabel
ae889bedd2 Merge pull request #270 from swarth100/add-rh-sudo-check
install-fedora-packages.sh: Add sudo password prompt
2018-06-20 05:22:13 -04:00
gresearch
acf5ff1a96 install-fedora-packages.sh: Fix inconsistent spacing 2018-06-20 10:17:45 +01:00
gresearch
71f514d185 install-fedora-packages.sh: Add SUDO password prompt prior to ROOT password prompt in CentOS/Fedora package installs 2018-06-20 10:15:16 +01:00
Michael Larabel
e3e815a451 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2018-06-19 19:07:10 -05:00
Michael Larabel
d8a8642f85 use_wine: On tests explicitly using wine as an external dependency, don't preser "_windows" test scripts for execution, reset to original handle. 2018-06-19 19:06:08 -05:00
Michael Larabel
ba6dcafb6f pts-core: Windows browser handling improvements 2018-06-18 09:49:07 -05:00
Michael Larabel
04278d1d5c pts-core: Rework commit from earlier today 2018-06-16 17:14:53 -05:00
Michael Larabel
6d2542d4ee pts-core: Fix for system log saving on Windows 2018-06-16 16:19:52 -05:00
Michael Larabel
3ce2bde8b9 pts-core: Don't run chmod process on Windows 2018-06-16 11:27:25 -05:00
Michael Larabel
d964e31c40 pts-core: Better checking of system binaries in external dependency handler 2018-06-16 10:46:50 -05:00
Michael Larabel
abf4772178 pts-core: Don't show "Test Profile Status: " on null string 2018-06-16 09:48:54 -05:00
Michael Larabel
4a9d0170e7 pts-core: Boldness of process string 2018-06-16 09:46:21 -05:00
Michael Larabel
fe58e75f72 pts-core: Ensure files for all platforms are cached on running make-download-cache 2018-06-16 09:38:55 -05:00
Michael Larabel
a626830375 pts-core: Don't prompt on failed downloads within make-download-cache 2018-06-16 09:33:51 -05:00
Michael Larabel
85b3d2e6c6 windows: Allow space in path to PTS without causing error 2018-06-16 05:22:18 -05:00
Michael Larabel
ee2973c218 pts-core: Fix alignment in CSV output of results 2018-06-14 12:24:50 -05:00
Michael Larabel
c1eee98338 pts-core: tiff-dev dependency fix for Ubuntu 2018-06-12 16:38:52 -05:00
Michael Larabel
606c25aa78 pts-core: Fix renderer logic check 2018-06-12 10:33:11 -05:00
Michael Larabel
e6772ca738 pts-core: Also check for D3D in renderer string as part of Direct3D checking 2018-06-12 09:58:41 -05:00
Michael Larabel
0a1ce03323 pts-core: Only show "Direct3D" options for "renderer" test options when running on Windows/Wine 2018-06-12 09:39:18 -05:00
Michael Larabel
5809354dc8 phodevi: Report wine version in system layer if any test external dependency has wine set 2018-06-12 09:09:46 -05:00
Michael Larabel
940c09ddb4 use_wine: Cleanup previous commit 2018-06-12 08:55:45 -05:00
Michael Larabel
2c12d1f723 use_wine: check for msiexec.exe as well 2018-06-12 08:54:37 -05:00
Michael Larabel
266802527b phodevi: Report Wine version if WINE_VERSION environment variable is set 2018-06-12 08:53:12 -05:00
Michael Larabel
f98563e117 use_wine: Don't run when the test profile is already catered for wine 2018-06-12 08:51:22 -05:00
Michael Larabel
a4581c72b2 pts-core: Add "wine" external dependency support 2018-06-12 08:40:32 -05:00
Michael Larabel
3c936252ca 0002-use_wine-Replace-cygdrive-with-WINEPREFIX-dosdevices 2018-06-12 08:30:54 -05:00
Michael Larabel
7e9124d870 use_wine: Patch from Stefan Dosinger for using WINEPREFIX if set 2018-06-12 08:30:01 -05:00
Michael Larabel
475ef6709e use_wine: Latest updates to get a few more test profiles running... 2018-06-11 20:38:00 -04:00
Michael Larabel
3642106f7d Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2018-06-11 19:27:54 -05:00
Michael Larabel
30d212c108 phodevi: Add USE_WINE to system id string so when its value changes, tests are rebuilt 2018-06-11 19:14:02 -05:00
Michael Larabel
4fa5475036 use_wine: New module to use Wine for benchmarks of Windows test scripts on Linux 2018-06-11 18:27:15 -04:00
Michael Larabel
658974ed00 pts-core: Preparations for Wine module, abstracting out some OS queries 2018-06-11 18:25:54 -04:00
Michael Larabel
33a0c9ff05 phodevi: Add USE_WINE environment variable check, point it towards the wine binary you wish to test 2018-06-11 10:25:42 -05:00
Michael Larabel
6fad23f40b phoromatic: Allow system variables to be edited from the system variables page, to address https://github.com/phoronix-test-suite/phoronix-test-suite/issues/264 2018-06-09 09:27:42 -05:00
Michael Larabel
4ab129fa12 phoromatic: fix public comparisons 2018-06-09 09:23:06 -05:00
Michael Larabel
b0683fb654 phoromatic: public viewer improvements 2018-06-09 09:19:49 -05:00
Michael Larabel
9434f3e1fe pts-core: Ensure clean log when adding to the log 2018-06-09 08:57:01 -05:00
Michael Larabel
073d4fe568 phoromatic: Ensure logs are stripped of extra characters before uploading to Phoromatic 2018-06-09 08:51:40 -05:00
Michael Larabel
8daabc9fce pts-core: Minor tweaks 2018-06-08 09:12:09 -05:00
Fatima Sheremetyeva
cc5704555c pts-core: Add csv-individual-frame-times 2018-06-08 09:52:46 -04:00
Michael Larabel
81f7c7bedc Phoronix Test Suite 8.0 release highlights 2018-06-05 08:15:38 -05:00
Michael Larabel
3397c2ec89 PTS 8.0 prepping... 2018-06-05 08:09:50 -05:00
Michael Larabel
1bb6ab5543 pts-core: Allow spaces when exporting vars 2018-06-04 04:51:48 -05:00
Michael Larabel
bde288bc1b phodevi: Get rid of some Windows network reporting "WAN" adapter junk 2018-06-03 08:32:05 -05:00
Michael Larabel
8bac6cb402 phodevi: Ensure Wayland via WAYLAND_DISPLAY always gets reported 2018-06-03 06:00:31 -05:00
Michael Larabel
7353632f20 pts-core: Another bold string 2018-06-02 17:10:17 -05:00
Michael Larabel
488ef46ddf pts-core: allow external dependencies on macOS for brew 2018-06-02 16:04:42 -05:00
Michael Larabel
88390437d9 pts-core: Add external dependency support for Brew macOS package manager 2018-06-02 10:57:02 -05:00
Michael Larabel
933c1ad3e6 pts-core: Fix web browser prompt on macOS 2018-06-02 09:37:13 -05:00
Michael Larabel
f516f1c3d0 pts-core: dependency updates for NetBSD/OpenBSD 2018-06-01 12:59:00 -05:00
Michael Larabel
9c67f7909d pts-core: Add pkg_add for NetBSD provider 2018-06-01 12:37:50 -05:00
Michael Larabel
45205178ae Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2018-06-01 12:32:59 -05:00
Michael Larabel
925aff4e82 pts-core: Improve error message 2018-06-01 12:32:32 -05:00
Michael Larabel
6bb5bd83ba Merge pull request #261 from swarth100/fix-phoromatic-test-create-post
pts-core/phoromatic/pages/phoromatic_create_test.php: Fix issue https…
2018-06-01 05:18:30 -04:00
Alberto Spina
fd8a7c3ce3 pts-core/phoromatic/pages/phoromatic_create_test.php: Fix issue https://github.com/phoronix-test-suite/phoronix-test-suite/issues/257 2018-06-01 09:03:29 +01:00
Michael Larabel
265810d4b4 gui: More messages 2018-05-31 17:16:02 -05:00
Michael Larabel
4ec1e9d2cc pts-core: Further make it clear that gui is deprecated 2018-05-31 17:13:16 -05:00
Michael Larabel
dc4cd0739f pts-core: Add PTS_RELEASE_DATE 2018-05-31 17:11:12 -05:00
Michael Larabel
2f71b292ba pts-core: Update portaudio external dependency on Ubuntu 2018-05-31 14:25:04 -05:00
Michael Larabel
7783bdf44f pts-core: Avoid duplicate test identifiers on graphs 2018-05-31 14:22:17 -05:00
Michael Larabel
166cbe134d phoromatic: Hopefully this addresses https://github.com/phoronix-test-suite/phoronix-test-suite/issues/257 2018-05-31 11:51:19 -05:00
Fatima Sheremetyeva
15867672b7 phodevi: Improve xserver version detection 2018-05-31 06:56:53 -05:00
Michael Larabel
3740babcd4 phoromatic: Report version in title of web interface 2018-05-30 18:40:01 -05:00
Michael Larabel
ef96cd126e Phoronix Test Suite 8.0 Milestone 5 prep 2018-05-30 18:24:53 -05:00
Michael Larabel
f4f38f3b1b pts-core: Add "all_results" when exporting results as JSON per https://github.com/phoronix-test-suite/phoronix-test-suite/issues/251 2018-05-30 16:28:09 -05:00
Michael Larabel
94732d1590 phoromatic: Fixes 2018-05-30 16:21:41 -05:00
Michael Larabel
4b3d2dedc0 pts-core: Improve message about missing executable 2018-05-30 15:11:50 -05:00
Michael Larabel
e4aaa3bdb7 pts-core: Fix some typos in string 2018-05-30 15:08:14 -05:00
Michael Larabel
78bec4ed0f phoromatic: Various tweaks, ensure local tests appear in all the build/schedule prompts, and some other tweaks/corrections.
Should also take care of https://github.com/phoronix-test-suite/phoronix-test-suite/issues/255
2018-05-29 11:53:18 -05:00
Michael Larabel
3d1a09ebe6 pts-core: Another openSUSE ex dep fix 2018-05-29 09:33:28 -05:00
Michael Larabel
b4ebeb3b9b pts-core: OpenSUSE ex dep updates 2018-05-29 04:31:20 -05:00
Michael Larabel
ebb5a4f316 pts-core: Missing bold string previously 2018-05-28 15:49:04 -05:00
Michael Larabel
895cc09f36 phodevi: minor improvement to file-system detection on Windows 2018-05-28 15:44:36 -05:00
Michael Larabel
35dbff8039 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2018-05-28 15:39:10 -05:00
Michael Larabel
65391cb682 pts-core: Better determine php_openssl.dll on Windows, fixes https://github.com/phoronix-test-suite/phoronix-test-suite/issues/249 2018-05-28 15:37:49 -05:00
Michael Larabel
865156461a Merge pull request #256 from lramage94/feature_termux
pts-core: Add Termux external dependency handling support
2018-05-24 15:04:00 -04:00
lramage94
a7753b10d2 pts-core: Add Termux external dependency handling support 2018-05-24 12:34:50 -04:00
Michael Larabel
54db46b2fd pts-core: Warn when download fails due to HTTS download with OpenSSL not being present 2018-05-24 08:47:52 -05:00
Michael Larabel
038fd99b27 pts-core: Warning fix for [NOTICE] Invalid argument supplied for foreach() in pts_client:838 2018-05-22 17:36:06 -05:00
Michael Larabel
c82e72b991 phoromatic: Various fixes 2018-05-22 12:55:36 -05:00
Michael Larabel
28018e4c6a phoromatic: Typo fix for previous commit 2018-05-22 09:59:28 -05:00
Michael Larabel
14e8dd23a3 phoromatic: Report status of other PTS process benchmarks when phoromatic process is idling or maintenance mode 2018-05-22 09:47:05 -05:00
Michael Larabel
0f45f9e1a1 pts-core: Add a benchmark logger 2018-05-22 09:13:41 -05:00
Michael Larabel
5e80315a25 phoromatic: Updates 2018-05-22 07:20:25 -05:00
Michael Larabel
f852a71f68 phodevi: Typo from previous commit 2018-05-22 04:16:24 -05:00
Michael Larabel
b921f4b7ee phodevi: Shorten up Speculative Store Bypass to SSB 2018-05-22 04:15:48 -05:00
Michael Larabel
ed331bb2ea phodevi: Add spec_store_bypass / Spectre Variant 4 reporting 2018-05-22 04:14:07 -05:00
Michael Larabel
2061bb2ca6 pts-core: Don't automatically install tests in stress-run if not installed 2018-05-18 15:05:01 -05:00
Michael Larabel
060788fa26 phoromatic: More test profile creation improvements 2018-05-17 10:09:32 -05:00
Michael Larabel
d2a60c8161 Phoronix Test Suite 8.0 Milestone 4 2018-05-16 04:47:48 -05:00
Michael Larabel
fb924e9a89 documentation: MD should be good now... 2018-05-16 04:42:11 -05:00
Michael Larabel
3b7d7af937 documentation: MD test 2018-05-16 04:40:30 -05:00
Michael Larabel
696d562c0c documentation: MD blockquote fix 2018-05-16 04:38:18 -05:00
Michael Larabel
4b208c0a5d documentation: Markdown generation improvements 2018-05-16 04:36:15 -05:00
Michael Larabel
ee8e9e0cda phoromatic: Fix reset on results page
phoromatic: At least temporarily, run all the search queries through same code path
2018-05-15 12:12:58 -05:00
Michael Larabel
54d027a1be phoromatic: Latest improvements 2018-05-15 10:55:59 -05:00
Michael Larabel
3e8a3bf7e2 pts-core: BUMP PTS_CORE_VERSION 2018-05-14 19:06:23 -05:00
Michael Larabel
bc1e8d1d3d phodevi: RISC-V SiFive CPU detection 2018-05-14 19:06:08 -05:00
Michael Larabel
423114a1a4 Documentation updates 2018-05-12 19:36:20 -05:00
Michael Larabel
a112bc9657 pts-core: Improve string in result-file-to-suite 2018-05-12 08:18:35 -05:00
Michael Larabel
1a6dff2238 phoromatic: Create test profile from Phoromatic UI 2018-05-12 08:06:19 -05:00
Michael Larabel
982aa40d0d pts-core: Tweaks 2018-05-12 07:14:34 -05:00
Michael Larabel
8333ed745c phoromatic: Fix PTS_IS_DEV_BUILD warning 2018-05-11 06:45:48 -05:00
Michael Larabel
7cc2d164fd phoromatic: Fix time_limit warning 2018-05-11 06:44:25 -05:00
Michael Larabel
34a40c8791 phoromatic: Changes staged from the local Phoromatic server 2018-05-10 10:58:50 -05:00
Michael Larabel
0847fcd9a9 pts-core: Latest batch of test profile creation support.... 2018-05-10 10:45:03 -05:00
Michael Larabel
31ad2a1872 pts-core: Move the template handling into pts_validation 2018-05-09 14:09:26 -05:00
Michael Larabel
7b8bcfbaff pts-core: create-test-profile from the CLI should largely be in initial, basic shape 2018-05-09 13:16:06 -05:00
Michael Larabel
26137c9cec phodevi: Updated spectre reporting on DragonFlyBSD 2018-05-09 08:48:46 -05:00
Michael Larabel
5f3c3840b6 pts-core: Drop some code no longer used 2018-05-08 16:55:35 -05:00
Michael Larabel
d212c31516 pts-core: create-test-profile is getting into shape 2018-05-08 16:46:53 -05:00
Michael Larabel
a52d1149aa pts-core: Get downloads.xml creation working as part of the create-test-profile upbringing... 2018-05-08 14:51:25 -05:00
Michael Larabel
8318d3d05b pts-core: Start of create-test-profile is working 2018-05-08 10:53:31 -05:00
Michael Larabel
27fa0b245e pts-core: More XML schema work 2018-05-04 11:27:53 -05:00
Michael Larabel
48b6ecfdfd pts-core: Start work on create-test-profile.... 2018-05-04 10:15:46 -05:00
Michael Larabel
6f9e659bb1 user-agreement: Basic updates 2018-05-04 08:38:46 -05:00
Michael Larabel
5f42a2e012 pts-core: Minor tweaks 2018-05-04 04:48:48 -05:00
Michael Larabel
311c8bc7d3 phoromatic: Various search improvements to phoronix-test-suite search 2018-05-03 16:44:54 -05:00
Michael Larabel
83c2beea88 phoromatic: Improve search functionality on results page, allow boolean expressions, date ranges, many other search features 2018-05-03 15:11:11 -05:00
Michael Larabel
0f19d80f6a pts-core: Fedora split out php-json 2018-05-03 15:05:58 -05:00
Michael Larabel
e9a5b61c64 phoromatic: Improve search functionality on results page 2018-05-01 08:26:34 -05:00
Michael Larabel
92de5b0a8c pts-core: That should be all cleaned up now.... 2018-04-30 10:35:28 -05:00
Michael Larabel
e8144b4347 pts-core: Clean up the logic for previous commit 2018-04-30 10:33:08 -05:00
Michael Larabel
f974a67042 pts-core: Fix for previous coimmit 2018-04-30 10:29:45 -05:00
Michael Larabel
1fe839e5ca pts-core: Basic changes, should be all that's needed for EU GDPR safeguards 2018-04-30 10:04:26 -05:00
Michael Larabel
5fef46e923 phoromatic: Also add confirmation for user of sent 2018-04-23 10:12:27 -05:00
Michael Larabel
be65a375a2 phoromatic: Fix subject input type from previous commit 2018-04-23 10:11:13 -05:00
Michael Larabel
7e74fe5900 phoromatic: Add a "email all users" option to the rootadmin page 2018-04-23 10:10:36 -05:00
Michael Larabel
c0d5d1573c Preparations for Phoronix Test Suite 8.0 Milestone 3 2018-04-16 06:46:53 -05:00
Michael Larabel
e72f3ff7a1 phodevi: Spectre and Meltdown mitigation reporting for DragonFlyBSD 2018-04-14 12:07:26 -05:00
Michael Larabel
1e310aa6d5 pts-core: Add ColoredConsole option in user configuration file of AUTO / TRUE / FALSE to control colored text behavior
Per https://github.com/phoronix-test-suite/phoronix-test-suite/issues/246
2018-04-12 19:51:43 -05:00
Michael Larabel
7768d61864 phoromatic: Ensure environment variables set via Phoromatic web interface get passed to tests 2018-04-12 09:40:25 -05:00
Michael Larabel
221b79e9a3 pts-core: Report test-run-times to test result JSON 2018-04-09 14:04:18 -05:00
Michael Larabel
de00f10bcb Revert "pts-core: Add "time-consumed" to each result's JSON for parsing by anyone interested in the elapsed time during testing for each test case"
This reverts commit 489803eb66.
2018-04-09 13:48:27 -05:00
Michael Larabel
489803eb66 pts-core: Add "time-consumed" to each result's JSON for parsing by anyone interested in the elapsed time during testing for each test case 2018-04-09 10:55:27 -05:00
Michael Larabel
6adf614e62 phodevi: Add Spectre/Meltdown reporting on BSD 2018-04-09 05:39:01 -05:00
Michael Larabel
d6d010db29 pts-core: Add Rscript for BSD 2018-04-08 17:02:20 -05:00
Michael Larabel
6f40cbc2bb pts-core: Fix sklearn path 2018-04-08 12:09:16 -05:00
Michael Larabel
796002b497 pts-core: Fix package name 2018-04-08 12:07:42 -05:00
Michael Larabel
bb84a01124 pts-core: No reason to use sudo when root for BSD pkg install script 2018-04-08 12:03:31 -05:00
Michael Larabel
3c1917591f Merge branch 'master' of https://github.com/phoronix-test-suite/phoronix-test-suite 2018-04-08 12:28:38 -04:00
Michael Larabel
a99524364a pts-core: Allow fallback on dependency handler hitting no matches to see if statically defined in XML list 2018-04-08 12:28:03 -04:00
Michael Larabel
08ba136b9f pts-core: Compiler mask updates for fortran 2018-04-08 07:10:34 -05:00
Michael Larabel
c1d48729e3 pts-core: BSD external dependency updates 2018-04-08 06:22:15 -05:00
Michael Larabel
7a3dd43890 phodevi: Lumina Desktop Environment detection 2018-04-08 07:17:07 -04:00
Michael Larabel
e2fa5ee6ae pts-core: Fix for golang on BSD 2018-04-07 19:17:32 -05:00
Michael Larabel
d850218bbc pts-core: Add gmake to build-utilities on BSD 2018-04-07 18:51:09 -05:00
Michael Larabel
9e180abcf8 pts-core: Fix list-tests 2018-04-07 18:33:38 -05:00
Michael Larabel
ecff3c1352 pts-core: Add report for "illegal argument" to scan_for_error 2018-04-07 17:40:05 -05:00
Michael Larabel
15b6af1bd7 pts-core: Add python2 and python3 compiler masking support 2018-04-07 10:47:56 -05:00
Michael Larabel
8deef17b2c pts-core: Use sudo on install-dragonfly-packages 2018-04-06 19:45:54 -05:00
Michael Larabel
8fd46e944c Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2018-04-06 19:26:27 -05:00
Michael Larabel
3e4847a277 pts-core: Try re-enabling compiler mask on BSD for now 2018-04-06 19:26:14 -05:00
Michael Larabel
4b6c38ea90 phodevi: BSD motherboard tweaks 2018-04-06 20:00:56 -04:00
Michael Larabel
8cff2ba48a pts-core: Get color terminal support working on BSDs 2018-04-06 18:51:31 -05:00
Michael Larabel
079b9ed1a1 pts-core: Fix potential warning on Windows when Get-TimeZone is not present
Also add pts_element_node missing from previous commit
2018-04-06 14:27:08 -05:00
Michael Larabel
283fe6ed3b pts-core: Begin transitioning to new XSD handling.... 2018-04-05 19:18:50 -05:00
Michael Larabel
54a9065b8d pts-core: More validation / XSD tweaking 2018-04-04 19:47:44 -05:00
Michael Larabel
88a87c7299 pts-core: Add start of pts_input_type_restrictions and type handling within validation code 2018-04-04 19:38:50 -05:00
Michael Larabel
efbb369ecb backup: Use TAR format by default on non-Windows OSes 2018-04-04 19:38:28 -05:00
Michael Larabel
573df72e2e pts-core: Add ruby external dependency 2018-04-04 14:12:40 -05:00
Michael Larabel
d7c10aa83f pts-core: Document the result parser 2018-04-03 10:17:16 -05:00
Michael Larabel
c6c38b6841 pts-core: Restructure result parser XML data handling 2018-04-02 18:36:03 -05:00
Michael Larabel
68314b4706 pts-core: Move the XSD processing code now off to pts_validation 2018-04-01 18:31:45 -05:00
Michael Larabel
7c922ab8e0 pts-core: Get test-profile-downloads.xsd documented with API calls as IDs for inspect-test-profile 2018-04-01 17:35:30 -05:00
Michael Larabel
4f08f5d124 pts-core: Introduce test_profile->get_downloads(), associated changes 2018-04-01 17:30:45 -05:00
Michael Larabel
b6d26ef0ea pts-core: More parsing work 2018-04-01 16:44:05 -05:00
Michael Larabel
15cbacf11c pts-core: inspect-test-profile should now be fully fleshed out 2018-04-01 16:30:32 -05:00
Michael Larabel
c13a0c979c pts-core: Add test-profile-downloads.xsd documentation 2018-03-31 19:35:52 -05:00
Michael Larabel
471a8fca10 pts-core: Add new inspect-test-profile sub-command 2018-03-31 19:25:16 -05:00
Michael Larabel
5fe04fe512 pts-core: Start work on new PTS test profile documentation 2018-03-31 11:38:42 -05:00
Michael Larabel
6575797961 pts-core: Fix for make-download-cache 2018-03-31 09:24:30 -05:00
Michael Larabel
3bddc10aa8 pts-core: Remove space from previous commit 2018-03-30 19:38:43 -05:00
Michael Larabel
443168b464 pts-core: Various optimizations for the backup process 2018-03-30 19:36:21 -05:00
Michael Larabel
c4c3ca1627 pts-core: Clean up some of the PTS test result parser debug messages to be more helpful, less spew 2018-03-30 18:45:54 -05:00
Michael Larabel
30f1c0a33e pts-core: Add "V8" external dependency for V8 JavaScript engine 2018-03-30 18:22:57 -05:00
Michael Larabel
317b19f073 backup: More cleaning 2018-03-30 14:22:22 -05:00
Michael Larabel
56865d576d backup: SKip the XML conf since will have been already copied 2018-03-30 11:55:23 -05:00
Michael Larabel
10f6079ae4 backup: also show dest on restoration 2018-03-30 11:40:14 -05:00
Michael Larabel
3aa0f47245 backup: Flesh out more of the restore stuff 2018-03-30 11:39:29 -05:00
Michael Larabel
b8c8e83563 pts-core: Fix PTS_COMMAND_PATH define 2018-03-30 11:06:09 -05:00
Michael Larabel
b3e7a69074 pts-core: More bits 2018-03-30 11:03:40 -05:00
Michael Larabel
7b9c9ae5ca backup: Initial backup/restore module... backup.create should be working so far 2018-03-30 10:13:21 -05:00
Michael Larabel
752196e86b pts-core: Drop PTS_MODULE_DATA_PATH 2018-03-30 10:11:12 -05:00
Michael Larabel
a0d0b90baf pts-core: Drop PTS_MODULE_LOCAL_PATH -r * 2018-03-29 18:52:23 -05:00
Michael Larabel
c648fadd61 pts-core: Drop PTS_TEMP_STORAGE 2018-03-29 18:48:17 -05:00
Michael Larabel
36425bb513 pts-core: Drop PTS_OPENBENCHMARKING_PATH 2018-03-29 18:37:44 -05:00
Michael Larabel
2f3113c074 pts-core: Drop PTS_MODULE_PATH, use new pts_module::module_path() instead 2018-03-29 18:27:19 -05:00
Michael Larabel
43029a5949 pts-core: Drop PTS_EXDEP_PATH due to its limited usage but in main code path, switch to new pts_exdep_generic_parser::get_external_dependency_path() 2018-03-29 18:25:01 -05:00
Michael Larabel
cf0464b384 pts-core: Introduce pts_client::download_cache_path() cleanup 2018-03-29 18:14:34 -05:00
Michael Larabel
439bfb3e4a pts_Graph: Various fixes 2018-03-29 11:45:47 -05:00
Michael Larabel
376a5d98d0 pts-core: Clean up the Windows batch files a bit... 2018-03-29 09:42:17 -05:00
Michael Larabel
333ab5dc7e Add a basic Windows install to put PTS in C:\phoronix-test-suite 2018-03-29 09:37:40 -05:00
Michael Larabel
fb21292f17 pts-core: Make Cygwin wait when needed on commands 2018-03-27 04:32:07 -05:00
Michael Larabel
9a4d307970 pts-core: Fix local IP detection on hostname when having multiple interfaces 2018-03-26 17:56:45 -05:00
Michael Larabel
9619543455 pts-core: Somehow had forgotten with M1 to update the codename... 2018-03-25 18:32:03 -05:00
Michael Larabel
9d9083945e phoromatic: Copy paste fail from previous commit 2018-03-25 17:50:13 -05:00
Michael Larabel
0f92db7f9f phoromatic: Ping daily the zero conf OB relay 2018-03-25 17:26:53 -05:00
Michael Larabel
680decaa90 pts-core: Fix for previous commit 2018-03-24 20:25:38 -05:00
Michael Larabel
587ea55d24 pts-core: Add the client-side bits for OpenBenchmarking.org relay of Phoromatic Server information for LAN 2018-03-24 17:48:54 -05:00
Michael Larabel
198d6bf751 pts-core: Add initial AdvertiseServiceOpenBenchmarkRelay support 2018-03-24 17:34:52 -05:00
Michael Larabel
763757cfc0 pts-core: Fix documentation generation 2018-03-24 15:09:18 -05:00
Michael Larabel
5b69e46c43 Phoronix Test Suite 8.0 M2 2018-03-24 15:06:56 -05:00
Michael Larabel
5a05a7f8f8 pts-core: Drop debug false from last commit 2018-03-24 15:03:03 -05:00
Michael Larabel
a8643a861a pts-core: Add openbenchmarking-uploads sub-command for reporting recent result uploads from the local IP 2018-03-24 14:59:27 -05:00
Michael Larabel
75308a0565 pts-core: Normalization fix 2018-03-23 13:00:22 -05:00
Michael Larabel
e552d36eb9 pts-core: Clarify PhoroScript code path with current usage 2018-03-22 20:11:42 -05:00
Michael Larabel
a0920673e7 pts-core: Move this to always check 2018-03-22 15:13:47 -05:00
Michael Larabel
ac04329825 pts-core: Drop old debug message, update Arch dependencies 2018-03-22 13:29:00 -05:00
Fatima Sheremetyeva
f95c091cc6 phodevi: Fix python version detection on Windows 2018-03-22 11:43:55 -05:00
Michael Larabel
6935e67ce3 pts-core: Revert previous commit 2018-03-19 15:19:50 -05:00
Michael Larabel
4dc9a80f0b https://github.com/phoronix-test-suite/phoronix-test-suite/issues/244 2018-03-19 15:13:48 -05:00
Michael Larabel
b3dcd1bf92 phodevi: reboot/shutdown support on Windows 2018-03-19 11:57:17 -05:00
Michael Larabel
47b2cf1322 pts-core: Add native XML result processing support for result parser 2018-03-19 09:39:20 -05:00
Michael Larabel
e6a7807110 pts-core: More Windows support improvements 2018-03-17 11:02:49 -05:00
Michael Larabel
41e0a515df phoronix-test-suite.bat: Allow it to be called when not within current
directory
2018-03-17 08:40:26 -05:00
Michael Larabel
bea9fe88da pts-core: debug-self-test improvement 2018-03-17 08:29:00 -05:00
Michael Larabel
b94324e541 pts-core: Add PTS_LAUNCHER environment variable 2018-03-17 07:48:03 -05:00
Michael Larabel
7495200358 pts-core: Add WinRAR path on Windows to PATH when needed 2018-03-16 14:18:37 -05:00
Michael Larabel
10dc1a9084 pts-core: Add DeleteOutputBefore and DeleteOutputAfter options to the result parser 2018-03-12 17:00:20 -05:00
Michael Larabel
471a547cf1 phodevi: Fix warning when GCC is not present on system 2018-03-12 09:06:35 -05:00
Michael Larabel
15ac890f93 pts-core: Fix for batch mode 2018-03-10 09:36:59 -06:00
Michael Larabel
2770e4713f pts-core: Address countable warning message 2018-03-09 17:26:06 -06:00
Michael Larabel
04fb42163c Didn't bump the change-log for yesterday's 8.0 M1 tag 2018-03-09 04:14:16 -06:00
Michael Larabel
cb929a0791 Phoronix Test Suite 8.0 Milestone 1 2018-03-08 19:28:08 -06:00
Michael Larabel
54393cff88 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2018-03-08 18:16:32 -06:00
Michael Larabel
0cbea8b51a pts-core: Also add python2 in cygwin on Windows 2018-03-08 18:02:32 -06:00
Michael Larabel
e53636d05b pts-core: More Windows updates 2018-03-08 17:54:17 -06:00
Michael Larabel
02d84d3dbd phodevi: Get Clang version reporting working on Windows 2018-03-08 16:47:28 -06:00
Michael Larabel
6c68ee9855 pts-core: Add LLVM default path to Windows system path 2018-03-08 16:43:20 -06:00
Michael Larabel
920cd98179 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2018-03-08 13:38:28 -06:00
Michael Larabel
f1c7e43bbd pts-core: More windows work 2018-03-08 13:38:11 -06:00
Michael Larabel
3a5b063ef9 Merge branch 'master' of https://github.com/phoronix-test-suite/phoronix-test-suite 2018-03-08 13:27:06 -06:00
Michael Larabel
5fc3f305fc Add cmake as a possible windows ex dep 2018-03-08 13:26:43 -06:00
Michael Larabel
c6a30c3baa Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2018-03-08 13:24:36 -06:00
Michael Larabel
106c009157 pts-core: Fix for missing first arg on cygwin installer 2018-03-08 13:24:20 -06:00
Michael Larabel
081e7d711c pts-core: p7zip is available on Cygwin, allow it as external dependency 2018-03-08 11:07:49 -06:00
Michael Larabel
780fa53fd4 pts-core: Add test_install_message() to display mode interface 2018-03-08 10:33:09 -06:00
Michael Larabel
44df0f52f7 pts-core: Add ~/install-message support where if a test profile installer writes there, that message will in turn be shown to the user on test install 2018-03-08 10:01:52 -06:00
Michael Larabel
f2d1e80a23 phodevi: 2560x1440 is better these days than 2560x1600 2018-03-07 14:35:57 -06:00
Michael Larabel
a5b1139801 phodevi: Round MB memory usage 2018-03-07 14:23:48 -06:00
Michael Larabel
bc04922d2e phodevi: Typo fix for previous commit 2018-03-07 14:10:51 -06:00
Michael Larabel
9382713b91 phodevi: NV driver version reporting on Windows 2018-03-07 14:08:48 -06:00
Michael Larabel
a88c0b7b8c phodevi: More NV SMI work 2018-03-07 14:01:05 -06:00
Michael Larabel
e66599a7e2 phodevi: NVIDIA GPU detection improvements on Windows using SMI 2018-03-07 13:45:54 -06:00
Michael Larabel
5ba8b99b72 phodevi: Fixes for previous commit 2018-03-07 12:39:13 -06:00
Michael Larabel
3138646e5d phodevi: Allow some more NVIDIA sensors to work on Windows 2018-03-07 12:37:59 -06:00
Michael Larabel
fbb825d68a phodevi: Support for NVIDIA GPU usage reporting on Windows 2018-03-07 12:32:05 -06:00
Michael Larabel
d31200789b phodevi: Handling improvements on Windows 2018-03-07 12:11:09 -06:00
Michael Larabel
69d3305ab2 phodevi: Handle multiple GPUs on Windows 2018-03-07 12:03:57 -06:00
Michael Larabel
a2ae11c5eb Add Golang to microsoft-packages.xml 2018-03-07 09:22:22 -06:00
Michael Larabel
4a2a18cc2b pts-core: No .exe on f95 in microsoft dependency 2018-03-07 09:17:58 -06:00
Michael Larabel
c76d3d9282 Add fortran-compiler external dependency support on Windows 2018-03-07 09:08:22 -06:00
Michael Larabel
ca1c4c19c6 pts-core: Tidy up Windows path handling 2018-03-07 09:02:28 -06:00
Michael Larabel
ffcebcde80 pts-core: Support setting the PHP timezone on Windows 2018-03-07 05:32:54 -06:00
Michael Larabel
597f8f57ac phoronix-test-suite.bat: Get rid of this old check to avoid crufty message being printed when not found 2018-03-07 05:00:30 -06:00
Michael Larabel
a6ddfed297 pts-core: Add check in what_provides handler 2018-03-06 19:04:35 -06:00
Michael Larabel
867bea2028 pts-core: Add Go dependency coverage on Windows 2018-03-06 16:39:53 -06:00
Michael Larabel
9047dcb1d2 pts-core: microsoft ex dep updates 2018-03-06 16:09:59 -06:00
Michael Larabel
29c0649f02 pts-core: Tighten up the windows script a bit more 2018-03-06 15:58:24 -06:00
Michael Larabel
5f9fe8d9fc Add .md version of documentation, auto-generated by dump-documentation... Rebuild current docs too. 2018-03-06 14:43:38 -06:00
Michael Larabel
4d589b7466 Start working on Windows documentation... 2018-03-06 14:05:10 -06:00
Michael Larabel
d73cf1721a pts-core: Add Steam support as a Windows ex dependency 2018-03-06 13:36:26 -06:00
Michael Larabel
f04e8925e0 pts-coreL Setup Windows' setartup_handler to configure OpenSSL, setting
up Cygwin bash if needed
2018-03-06 13:13:27 -06:00
Michael Larabel
8e2c7b704b pts-core: More Windows tidying... 2018-03-06 12:59:40 -06:00
Michael Larabel
a60524dc26 pts-core: Add external dependencies startup_handler() 2018-03-06 12:56:19 -06:00
Michael Larabel
084b316cd5 phoronix-test-suite.bat: Also ensure VC_redist.x64.exe is on system 2018-03-06 12:38:58 -06:00
Michael Larabel
4a150f2bd1 phoronix-test-suite.bat: Add support for downloading and setting up PHP
for Windows in local directory if it cannot be found otherwise on system
2018-03-06 12:36:08 -06:00
Michael Larabel
8e8478813e pts-core: Add basic external dependency handler for Microsoft Windows 2018-03-06 10:57:02 -06:00
Michael Larabel
a7e594df85 pts-core: Be more robust with path handling in pts_external_dependencies
when looking for binaries
2018-03-06 10:40:42 -06:00
Michael Larabel
593fa5c3d5 pts-core: Add WarnOnUnmetDependencies option for external dependency XML 2018-03-06 09:34:02 -06:00
Michael Larabel
a072323b0d pts-core: Add interface for allowing a pts_dependency_handler provide an install_dependencies() as alternative to the bash script file approach 2018-03-06 09:21:36 -06:00
Michael Larabel
9f1c47d2c2 pts-core: Open up Windows/Microsoft for external dependency support 2018-03-06 09:09:32 -06:00
Michael Larabel
4882445433 phodevi: Add Windows support 2018-03-05 13:47:14 -06:00
Michael Larabel
0431d3b6cb pts-core: Add R path to Windows when needed 2018-03-04 14:13:04 -06:00
Michael Larabel
e6430692bf pts-core: More Windows updates 2018-03-04 08:19:39 -06:00
Michael Larabel
9c4b4e56c6 pts-core: More Windows path handling work 2018-03-03 17:23:05 -06:00
Michael Larabel
10b670ea5f pts-core: Add OpenJDK on Windows check for path 2018-03-03 14:13:39 -06:00
Michael Larabel
5fe7a389aa pts-core: On Windows, check for Python default user path to add to PATH
when not in there... begin work on pts_client::get_path()
2018-03-02 14:29:25 -06:00
Michael Larabel
204cb23821 pts-core: Only spam debug message when using now older/less desirable phoroscript code path 2018-03-01 10:50:24 -06:00
Michael Larabel
7ef46d401e pts-core: hopefully help with HTTPS issues on Windows 2018-03-01 10:25:12 -06:00
Michael Larabel
a3719c0680 pts-core: Don't get in empty subsystems 2018-03-01 09:19:33 -06:00
Michael Larabel
758547e9a7 pts-core: Back these up for when Cygwin clashes with the other ones on Windows 2018-03-01 08:15:10 -06:00
Michael Larabel
bbc7792406 pts-core: Generalize previous commit a bit more... 2018-03-01 06:48:30 -06:00
Michael Larabel
5fdf5f336a pts-core: Don't use HTTPS downloads for now on Windows 2018-03-01 06:45:42 -06:00
Michael Larabel
f5cfad988c pts-core: When using user-config set/reset, show the file to avoid confusion 2018-02-28 19:15:55 -06:00
Michael Larabel
800c9508bc pts-core: Allow XInclude support for test suites 2018-02-28 19:09:12 -06:00
Michael Larabel
788c183430 pts-core: Be more clear about ignore runs, also mention supported platforms in info command 2018-02-28 18:56:43 -06:00
Michael Larabel
f616f3ac06 pts-core: Add windows archive first on Windows 2018-02-28 12:32:55 -06:00
Michael Larabel
4a60d00c33 pts-core: When running on Windows, add new "windows/" OpenBenchmarking.org test repository 2018-02-28 12:31:20 -06:00
Michael Larabel
e9701e9c1e pts-core: Show OpenBenchmarking.org test profile page from info <test> sub-command 2018-02-28 09:27:34 -06:00
Michael Larabel
c38a6ed876 pts-core: Fallback for terminal_width on faulty detection 2018-02-28 09:13:24 -06:00
Michael Larabel
b38566b43c pts-core: Fix for pts_client::terminal_width() 2018-02-28 09:12:08 -06:00
Michael Larabel
4e4b9068b6 pts-core: Drop some debug code 2018-02-28 08:53:12 -06:00
Michael Larabel
e4b3d1f321 pts-core: More windows work 2018-02-27 19:33:16 -06:00
Michael Larabel
a38a426224 pts-core: Fix for Windows cygwin support for using Cygwin bins from the
run script
2018-02-27 12:58:29 -06:00
Michael Larabel
c46a6ae4fa FIRST STAB at Cygwin for bash script handling on Windows 2018-02-27 11:49:27 -06:00
Michael Larabel
23d104a7d1 pts-core: Better executable_in_path fallback handling on Windows 2018-02-27 09:50:48 -06:00
Michael Larabel
b00e2279eb Merge branch 'master' of https://github.com/phoronix-test-suite/phoronix-test-suite 2018-02-27 09:50:45 -06:00
Michael Larabel
829dac25d0 shell: More stuff 2018-02-27 09:31:51 -06:00
Michael Larabel
e65af31a06 Merge branch 'master' of https://github.com/phoronix-test-suite/phoronix-test-suite 2018-02-27 09:28:50 -06:00
Michael Larabel
118198547d shell: More updates 2018-02-27 09:28:39 -06:00
Michael Larabel
9c718a819a Merge branch 'master' of https://github.com/phoronix-test-suite/phoronix-test-suite 2018-02-27 09:13:16 -06:00
Michael Larabel
c1954af585 shell: Fix unsupported sensors 2018-02-27 09:13:01 -06:00
Michael Larabel
add09d6371 Merge branch 'master' of https://github.com/phoronix-test-suite/phoronix-test-suite 2018-02-27 09:11:47 -06:00
Michael Larabel
6db221b764 pts-core: Introduce basic phoronix-test-suite shell for easier PTS experience 2018-02-27 09:11:15 -06:00
Michael Larabel
b4b90b5f67 pts-core: Changes in prepping for shell 2018-02-27 09:10:45 -06:00
Michael Larabel
40b994d8be phodevi: Memory usage sensor support on Windows 2018-02-27 07:40:57 -06:00
Michael Larabel
b44a9ad9fd phodevi: Hook up Windows uptime handling, CPU usage reporting 2018-02-27 03:55:03 -06:00
Michael Larabel
8d4ee8065d phodevi: More Windows hookups 2018-02-26 19:26:56 -06:00
Michael Larabel
39a7db8e3e pts-core: Network IP and MAC handling on Windows 2018-02-26 18:52:42 -06:00
Michael Larabel
d5749e01ae pts-core: Get Windows browser support working again 2018-02-26 17:00:52 -06:00
Michael Larabel
af1090025b pts-core: Fix terminal-width handling, add support for Powershell
detection
2018-02-26 16:31:31 -06:00
Michael Larabel
470c37e761 phodevi: Expand the Windows support much better... 2018-02-26 15:51:00 -06:00
Michael Larabel
27036956db pts-core: Colored text works on Windows 2018-02-26 13:50:41 -06:00
Michael Larabel
a0fd2c27ea Merge pull request #243 from lsandoval/execute-binary-prepend
pts-core: prepend EXECUTE_BINARY_PREPEND in test run request
2018-02-26 13:18:51 -05:00
Leonardo Sandoval
d5d076ac3f pts-core: prepend EXECUTE_BINARY_PREPEND in test run request
This new environment variable may specify a command which can be prepended
into the main test command. One important usage can be when profiling
a certain test and neither flamegrapher nor linux_perf pts-core modules give
us what we want.

Two simple examples on this area

* use /usr/bin/time -v to get some basic stats

    $ export EXECUTE_BINARY_PREPEND='/usr/bin/time -v' && \
    phoronix-test-suite run ..

* perf-record and leave data (perf.data) in the installed directory

    $ export EXECUTE_BINARY_PREPEND='perf record -a -g -F 97 -o perf.data' && \
    phoronix-test-suite run ..

NOTE: If either LINUX_PERF or FLAME_GRAPH_PATH environment
variables are present on the environment, EXECUTE_BINARY_PREPEND wont have any
effect.

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
2018-02-26 17:53:34 +00:00
Michael Larabel
9531eaa4b9 Merge pull request #242 from lsandoval/fix-perf-record-on-flamegrapher
pts-core: turn on profiling during test execution
2018-02-26 10:31:02 -05:00
Leonardo Sandoval
ebf3110458 pts-core: turn on profiling during test execution
Instead of just profiling a sleep of 3 seconds before the test execution,
profile while executing.

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
2018-02-26 15:06:39 +00:00
Michael Larabel
25e92ed118 phodevi: Cavium ThunderX detection 2018-02-26 07:34:31 -06:00
Michael Larabel
d308a6a9c1 perf_per_dollar: More improvements 2018-02-19 10:56:10 -06:00
Michael Larabel
d687548fab perf_per_dollar: Allow calculating cloud costs / perf-per via COST_PERF_PER_HOUR= environment variable 2018-02-19 10:20:10 -06:00
Michael Larabel
30c1ae0a96 pts-core: Bump version to begin PTS 8.0-Aremark development 2018-02-18 16:46:32 -06:00
Michael Larabel
1423f371d2 phoromatic: Early start to some planned Phoromatic Server UI changes for PTS 8.0 2018-02-18 16:39:49 -06:00
Michael Larabel
108c9e19e0 pts-core: Documentation update 2018-02-14 09:33:31 -06:00
Michael Larabel
ff032b4b1c Phoronix Test Suite 7.8.0 2018-02-14 09:18:56 -06:00
Michael Larabel
ba91901e14 pts-core:
minor fixes
2018-02-14 09:13:18 -06:00
Michael Larabel
128b084fe2 pts_Graph: Deduplication support for footnote reporting when it's the same across all test identifiers 2018-02-13 08:06:00 -06:00
Michael Larabel
3e783d50a1 pts_Graph: Fix vertical bar graphs on many bars to be rendered 2018-02-13 07:57:12 -06:00
Michael Larabel
678823b079 pts-core: Drop " with Radeon" from product strings, e.g. AMD APUs 2018-02-12 08:12:03 -06:00
Michael Larabel
b1c9db1aa1 pts-core: Extra ex deps 2018-02-09 14:33:03 -06:00
Michael Larabel
c46d8e78ea pts-core: Styling improvements to network-info and php-conf 2018-02-08 11:58:41 -06:00
Michael Larabel
72246545a7 pts-core: More improvements to "Possible Suggestions" handling 2018-02-08 10:29:15 -06:00
Michael Larabel
18dcfcde52 pts-core: Unify invalid command helper 2018-02-08 10:19:12 -06:00
Michael Larabel
10e60a0c60 pts-core: Add 'rust' external dependency 2018-02-07 19:14:13 -06:00
Michael Larabel
d58b43d0f7 pts-core: Change order of logic in prompt_text_menu() 2018-02-07 17:40:47 -06:00
Michael Larabel
31119ddcc8 pts-core: Add openmpi external dependency for Arch Linux
https://github.com/phoronix-test-suite/phoronix-test-suite/issues/207
2018-02-07 11:08:51 -06:00
Michael Larabel
2b9752e376 pts-core: Set MinimalTestTime to default to 2 2018-02-06 18:39:22 -06:00
Michael Larabel
f57bbc7938 pts-core: Scan for fatal 2018-02-06 09:48:43 -06:00
Michael Larabel
d5bb0c2dae Phoronix Test Suite 7.8 Milestone 3 2018-02-05 19:04:03 -06:00
Michael Larabel
e7cdadb8b7 phodevi: spectre_v1 reporting 2018-02-05 13:18:50 -06:00
Michael Larabel
fa1d36c45a pts-core: Don't show tests in list-available-tests / list-tests that are not verified
pts-core: Improvements to `info` sub-command for test profiles in highlighting tests that may have problems and also show pre/post messages
2018-02-05 13:11:18 -06:00
Michael Larabel
ff8bda5f09 pts-core: When installing a test that is marked deprecated/experimental/broken, ensure to convey that to the user
pts-core: When installing a test that is of license retail/restricted, ensure to convey that to the user
2018-02-05 12:54:03 -06:00
Michael Larabel
85df8554f0 pts-core: Add a bounds check on CSV output in pts_result_file_output
https://www.phoronix.com/forums/forum/phoronix/phoronix-test-suite/1004804-export-results-to-csv-or-xml-crashes-sometimes-in-phoromatic
2018-01-31 08:48:27 -06:00
Michael Larabel
e863e546b8 pts_Graph: Fix when manually forcing line graphs sometimes still yielding bar graphs 2018-01-26 12:24:00 -06:00
Michael Larabel
eff537facd pts-core: Ensure enough sleep between booting up systems 2018-01-26 11:14:00 -06:00
Michael Larabel
9c1f15450e pts-core: Probably safe to cache pts_client::executable_in_path() when result is not empty 2018-01-25 15:49:39 -06:00
Michael Larabel
f8f908e808 pts-core: Drop the cache in pts_client::executable_in_path() to avoid some detection issues 2018-01-25 10:18:08 -06:00
Michael Larabel
8df1c7546b pts-core: Addition for Void Linux 2018-01-25 10:15:31 -06:00
Michael Larabel
86f71d871d pts-core: Void Linux ex dep update 2018-01-24 17:58:03 -06:00
Michael Larabel
ef14c59c9f pts_Graph: couple vertical bar improvements 2018-01-24 07:38:02 -06:00
Michael Larabel
1830da8150 phodevi: Don't cache the compiler in case external dependencies install a new compiler, etc 2018-01-23 10:57:16 -06:00
Michael Larabel
bc8f54065c phodevi: LXQt desktop detection 2018-01-21 10:45:57 -06:00
Michael Larabel
011d62f670 pts-core: And add post run process too for stress-run 2018-01-21 10:28:03 -06:00
Michael Larabel
df2f50f351 pts-core: Use __pre_run_process with stress_run_manager 2018-01-21 10:26:44 -06:00
Michael Larabel
99e47108fd pts-core: Set interactive mode to stress_run_manager to false so ob_auto_compare won't be used 2018-01-21 10:22:40 -06:00
Michael Larabel
93fe2b699d pts-core: Fix crash in stress-run when PHP PCNTL is missing 2018-01-21 09:41:09 -06:00
Michael Larabel
68f3b4838a pts-core: Use + 2018-01-17 08:55:40 -06:00
Michael Larabel
817498daff phodevi: Should be called security, copy paste fail 2018-01-16 13:02:26 -06:00
Michael Larabel
cf62952fc0 phodevi: Show security features under OS 2018-01-16 08:34:39 -06:00
Michael Larabel
365b1d3682 phodevi: Add /sys/devices/system/cpu/vulnerabilities/meltdown check 2018-01-15 16:58:18 -06:00
Michael Larabel
6d700a8ec3 phodevi: spectre_v2 protection reporting 2018-01-15 16:36:23 -06:00
Michael Larabel
9c0b8b85ef Phoronix Test Suite 7.8.0 Milestone 2 2018-01-14 13:32:48 -06:00
Michael Larabel
63bdc42884 pts-core: Not sure why I didn't add a 'steam' external dependency before.... 2018-01-13 15:11:17 -06:00
Michael Larabel
207e5c61c6 pts_Graph: Some tweaking to vertical bar graphs 2018-01-13 13:13:17 -06:00
Michael Larabel
95204b0fd6 pts_Graph: Restore support for allowing vertical bar graphs, can be enabled by editing graph-config.json with bar_graphs_horizontal = false 2018-01-13 13:03:41 -06:00
Michael Larabel
0eb8d0c4f7 pts_Graph: Add allow_box_plots graph configuration tunable 2018-01-13 11:47:54 -06:00
Michael Larabel
0239c5ce16 pts-core: When running phoronix-test-suite info <test profile>, show local test results containing this test 2018-01-13 10:04:33 -06:00
Michael Larabel
244b79ba08 pts-core: When running phoronix-test-suite info <test profile>, show the OpenBenchmarking.org change-log for that test profile too 2018-01-13 09:41:04 -06:00
Michael Larabel
efd6531e1c pts-core: Change F9XFLAGS to FFLAGS more common 2018-01-13 06:37:51 -06:00
Michael Larabel
6b364b55d5 pts-core: Add list tests / list recommended tests to interactive command 2018-01-12 11:43:57 -06:00
Michael Larabel
8d7167f610 pts-core: Search result file identifiers too as part of search_test_results() 2018-01-12 11:22:56 -06:00
Michael Larabel
484c8d9008 pts-core: ucwords not strtoupper here 2018-01-12 10:40:31 -06:00
Michael Larabel
7c61973895 pts-core: Improve styling of phoronix-test-suite search 2018-01-12 10:23:19 -06:00
Michael Larabel
92016e9df6 pts-core: Introduce pts_search as common PTS search helpers 2018-01-12 10:04:12 -06:00
Michael Larabel
1d2bef89df pts_tracker: pts_tracker doesn't appear to be used any longer by PTS, Phoromatic or OpenBenchmarking.org 2018-01-12 09:42:00 -06:00
Michael Larabel
2ed3e682f2 pts-core: Add phoronix-test-suite search for conducting basic searches from the CLI 2018-01-12 09:33:24 -06:00
Michael Larabel
249b6c136e pts-core: Small tweaks 2018-01-12 09:30:44 -06:00
Michael Larabel
dd3c42fe22 phodevi: Remove redundant 5 2018-01-12 08:09:58 -06:00
Michael Larabel
e9e12464d7 phodevi: KDE Plasma 5 detection improvements 2018-01-12 08:09:02 -06:00
Michael Larabel
4583696ccf pts-core: The phoronix-test-suite gui has been unmaintained and can be considered deprecated 2018-01-12 07:04:56 -06:00
Michael Larabel
35e6f2c5e1 pts-core: Interactive mode improvements 2018-01-12 07:01:06 -06:00
Michael Larabel
3a33f68776 phodevi: Add " Protection" to end of security string when present 2018-01-11 19:13:12 -06:00
Michael Larabel
cfe898ebc2 phodevi: Monitor *FLAGS* environment variables too 2018-01-11 16:00:58 -06:00
Michael Larabel
8e30f42fa6 pts_Graph: Some variable handling optimizations 2018-01-11 10:54:09 -06:00
Michael Larabel
61d1df4dd0 phodevi: BIOS reporting change 2018-01-10 16:18:58 -06:00
Michael Larabel
789e19cb80 phodevi: KPTI page table isolation detection 2018-01-10 10:54:27 -06:00
Michael Larabel
fa2d5eb96b phodevi: Punt SELinux reporting off to system's securirty-features property 2018-01-10 10:47:02 -06:00
Michael Larabel
ce9d40e0f5 pts-core: Add dump-phodevi-properties helper to assist in debugging and porting to new platforms 2018-01-10 10:32:20 -06:00
Michael Larabel
4b86ade6e7 phodevi: Reworked property handling 2018-01-10 10:14:41 -06:00
Michael Larabel
47e91cbb08 phodevi: Add explicit python3 detection too 2018-01-10 09:01:37 -06:00
Michael Larabel
6cc786df32 pts-core: Drop pts_test_notes_manager since better functionality has been in place for a while with pts_test_run_manager's pull_test_notes 2018-01-10 08:52:10 -06:00
Michael Larabel
ef4150d5bb pts-core: Note handling improvements 2018-01-10 08:25:31 -06:00
Michael Larabel
864835d884 phodevi: Use std_caching not smart_caching on microcode-version 2018-01-10 07:32:30 -06:00
Michael Larabel
18490d9665 phodevi: Add missing space before BIOS version 2018-01-10 06:48:39 -06:00
Michael Larabel
1d759267e4 phodevi: Append BIOS version to end of motherboard string
Plus other styling improvements
2018-01-09 18:34:39 -06:00
Michael Larabel
e412f3adc1 phodevi: Don't require to type existing password when running phoromatic.set-root-admin-password 2018-01-09 17:01:38 -06:00
Michael Larabel
714f6ce751 pts-core: Fix for potential $hash_check not being sent when querying phoromatic servers for suite data 2018-01-09 15:01:20 -06:00
Michael Larabel
0c0468c37b pts-core: Cache available_phoromatic_servers() to avoid recomputing list too often 2018-01-09 14:52:42 -06:00
Michael Larabel
1d2dabd939 pts-core: Fixes for previous commit 2018-01-09 12:54:20 -06:00
Michael Larabel
70f007301b pts-core: Allow local/other tests not part of OpenBenchmarking.org to be downloaded from a Phoromatic Server 2018-01-09 12:39:22 -06:00
Michael Larabel
a4386de0c6 pts-core: More make-openbenchmarking-cache fixes 2018-01-09 11:00:14 -06:00
Michael Larabel
2212819887 pts-core: More make-openbenchmarking-cache tweaks 2018-01-09 10:51:52 -06:00
Michael Larabel
22f09ba41b pts-core: make-download-cache fix 2018-01-09 10:43:35 -06:00
Michael Larabel
98efa0789d pts-core: make-openbenchmarking-cache improvements 2018-01-09 10:30:59 -06:00
Michael Larabel
4705db7e5f pts-core: Cleanup OB test/suite download error message and prep for better reporting of network issues.
https://github.com/phoronix-test-suite/phoronix-test-suite/issues/236
2018-01-09 09:35:23 -06:00
Michael Larabel
776f196cbb phodevi: Strip invalid chars from BIOS version parsing 2018-01-09 08:14:57 -06:00
Michael Larabel
66189914e3 Update ChangeLog 2018-01-07 19:32:14 -06:00
Michael Larabel
5908bfe4a3 Phoronix Test Suite 7.8 Milestone 1 2018-01-07 19:29:51 -06:00
Michael Larabel
04f63eb73b phoromatic: Also ensure network MAC gets updated 2018-01-07 18:33:49 -06:00
Michael Larabel
a5bbf08b8f phodevi: Add BIOS version reporting property 2018-01-07 18:03:41 -06:00
Michael Larabel
cfb0a478bc Some copyright updates for 2018 2018-01-07 10:34:38 -06:00
Michael Larabel
046beec318 pts-core: Allow PTS_WEBSOCKET_PORT environment variable to be used to override WebSocket port when launching Phoromatic Server
From https://github.com/phoronix-test-suite/phoronix-test-suite/issues/227
2018-01-07 10:04:40 -06:00
Michael Larabel
3382e8c76b pts-core: If TEST_EXEC_PREPEND is a binary, don't run 'exec' following it on test execution.
Should fix behavior for https://github.com/phoronix-test-suite/phoronix-test-suite/issues/230
2018-01-07 09:57:55 -06:00
Michael Larabel
0258ae8930 pts-core: Phoroscript interpreter always skip lines beginning with #
Fixes https://github.com/phoronix-test-suite/phoronix-test-suite/issues/231
2018-01-07 09:50:27 -06:00
Michael Larabel
f0d183070d Merge pull request #234 from Eliasvan/patch-3
Set script-requested cwd when executing command
2018-01-07 10:46:12 -05:00
Michael Larabel
bec7de29a2 pts-core: Fedora dependency updates 2018-01-06 09:54:09 -06:00
Michael Larabel
7b49fd280a pts-core: Better Docker support for installing packages on Fedora 2018-01-06 06:29:00 -06:00
Michael Larabel
24e72908cb pts-core: Fix for Linux systems without ps when checking running processes 2018-01-06 06:24:59 -06:00
Elias Vanderstuyft
b30e5db2ac Set script-requested cwd when executing command
This fixes https://github.com/phoronix-test-suite/phoronix-test-suite/issues/232:
'Commands in scripts interpreted by phoroscript_interpreter are not executed in a context where the current working directory is set as requested by the script'

This also removes the need of the workaround performed in "install_windows.sh" (https://openbenchmarking.org/innhold/a97d4ee6ea8b6410ca8f739f296f98d5002e05a6 , see "# Note: ...") in https://openbenchmarking.org/test/eliasvan/supertuxkart-1.5.1

Tested with Windows 10, Wine, and Ubuntu 16.04.
2018-01-03 00:30:40 +01:00
Michael Larabel
e8cb6fcf13 pts-core: Warning fix for yesterday's change 2018-01-02 08:28:31 -06:00
Michael Larabel
ff4a5c9226 pts-core: Use _SERVER rather than _ENV 2018-01-01 09:52:13 -06:00
Michael Larabel
850698409e phodevi: Add some missing handling around /dev/vd* disks 2017-12-28 17:15:55 -06:00
Michael Larabel
0ad3917b53 pts-core: Add meson to external dependencies 2017-12-26 10:16:34 -06:00
Michael Larabel
a5dd22efef openSUSE updates 2017-12-20 10:27:04 -06:00
Michael Larabel
e6c2387eac pts-core: Add python3-pip to python ex dep for Ubuntu 2017-12-12 06:18:04 -06:00
Michael Larabel
72552dc0e6 pts-core: ex dep updates 2017-12-10 18:02:22 -06:00
Michael Larabel
35b5d28c4b Phoronix Test Suite 7.6.0-Alvdal 2017-12-07 05:16:02 -06:00
Michael Larabel
2aa0725d98 pts-core: Maven isn't part of openSUSE/SUSE default packages 2017-12-05 18:38:12 -06:00
Michael Larabel
002d10418f pts-core: Fix for PHP 7.2 countable warning 2017-12-05 14:24:43 -06:00
Michael Larabel
dda267de07 Phoronix Test Suite 7.6 Milestone 4 2017-12-03 06:51:49 -06:00
Fatima Sheremetyeva
17560c09cd phodevi: Add new gpu.memory-usage sensor initially supported on NVIDIA 2017-11-30 10:15:45 -05:00
Michael Larabel
1a799cce6a pts-core: Better external dependency handling when running on EC2 instances (SUSE and Gentoo) 2017-11-27 17:26:25 -06:00
Michael Larabel
29ffab4598 pts-core: Gentoo updates 2017-11-27 16:56:13 -06:00
Michael Larabel
e486cbeda3 Phoronix Test Suite 7.6 M3 2017-11-21 15:06:20 -06:00
Michael Larabel
d235b00a69 phodevi: Better memory model detection on Linux 2017-11-21 13:33:33 -06:00
Michael Larabel
e486239012 phodevi: Only use nvme CLI smart-log if having the permissions 2017-11-20 15:00:47 -06:00
Michael Larabel
71f5d2be53 phodevi: Should now be good.... 2017-11-16 09:59:32 -06:00
Michael Larabel
32ada6f09b phodevi: Typo fix 2017-11-16 09:58:51 -06:00
Michael Larabel
996ecf911d phodevi: NVme temp fixes 2017-11-16 09:58:16 -06:00
Michael Larabel
1a0323d4b5 phodevi: NVMe drive temperature reporting on Linux 2017-11-16 09:52:15 -06:00
Michael Larabel
7c13749d15 pts-core: Update Fedora's Python packages 2017-11-15 15:09:00 -06:00
Michael Larabel
7a4e5c9440 pts-core: Various styling updates
pts-core: More demanding debug-self-test
2017-11-12 17:02:46 -06:00
Michael Larabel
2682bb25f7 pts-core: Provide some basic graph size/count reporting on refresh-graphs sub-command 2017-11-12 11:31:41 -06:00
Michael Larabel
b181f39d6b pts_Graph: Turn line graphs to horizontal box plots if too much data to graph in space 2017-11-12 11:19:16 -06:00
Michael Larabel
da18941225 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2017-11-12 11:03:15 -06:00
Michael Larabel
bc431e8ec4 pts-core: Minor tweaks/fixes 2017-11-12 11:03:05 -06:00
Fatima Sheremetyeva
63a09d9fc1 phodevi: GPU power consumption sensor support via nvidia-smi 2017-11-07 11:14:07 -05:00
Michael Larabel
8fda9e4538 pts-core: Meant sh on second check, not bash again - 6776dcbbad (commitcomment-25431213) 2017-11-06 09:43:52 -06:00
Michael Larabel
6776dcbbad pts-core: make script shebang more portable
Via https://github.com/phoronix-test-suite/phoronix-test-suite/pull/200#issuecomment-342178438
2017-11-06 09:29:21 -06:00
Michael Larabel
5b7a229f57 phodevi: Typo fix for previous commit 2017-11-05 09:26:50 -06:00
Michael Larabel
f2ad85e735 phodevi: physical CPU core detection count on macOS 2017-11-05 09:23:29 -06:00
Michael Larabel
e49fd7ac54 Phoronix Test Suite 7.6 Milestone 2 2017-11-02 09:35:59 -05:00
Michael Larabel
6a4a3e7b4c pts-core: Add helpful comment 2017-10-31 11:10:27 -05:00
Michael Larabel
5b22d9419c Fix for OpenBSD MAC warning 2017-10-29 18:40:49 -05:00
Michael Larabel
deb27740aa pts-core: Network MAC address detection on OpenBSD 2017-10-29 18:39:55 -05:00
Michael Larabel
79c7f1b0e0 fixes for openbsd 2017-10-29 18:03:55 -05:00
Michael Larabel
67d03dd9b3 phodevi: FreeBSD pciconf output fix 2017-10-29 12:06:51 -05:00
Michael Larabel
51d781e4c8 phodevi: Typo fix for previous commit 2017-10-28 12:44:59 -05:00
Michael Larabel
9b0c3adea8 phodevi: VT EFIFB resolution detection 2017-10-28 12:44:26 -05:00
Michael Larabel
bc1f8d3e82 pts-core: Drop ports-based external dependency handling for FreeBSD and instead encourage pkg 2017-10-28 12:31:37 -05:00
Michael Larabel
02d1cf268e pts-core: Update executable_in_path handling for BSDs 2017-10-28 10:41:18 -05:00
Michael Larabel
ccbf555418 pts-core: /usr/local/bin/php explicit for BSD 2017-10-28 10:22:31 -05:00
Michael Larabel
487a1c63b8 pts-core: Start work on a BSD phoromatic-client rc.d file 2017-10-28 10:11:12 -05:00
Michael Larabel
88b5784537 pts-core: Fix for previous commit 2017-10-27 19:48:36 -05:00
Michael Larabel
9bfd2d025d Merge pull request #203 from lramage94/lede
Add Linux Embedded package manager configuration.
2017-10-27 19:50:03 -04:00
Lucas Ramage
6e378ab4c0 Add Linux Embedded package manager configuration.
Signed-off-by: Lucas Ramage <lramage@star2star.com>
2017-10-27 18:34:28 -04:00
Michael Larabel
253fc167af phoronix-test-suite: Check for php-cli as binary option 2017-10-27 17:24:19 -05:00
Michael Larabel
9207d4c069 pts-core: MAC reporting 2017-10-27 17:07:34 -05:00
Michael Larabel
607be2c5c8 Typo fix 2017-10-27 17:02:28 -05:00
Michael Larabel
e3ff77b2d2 phodevi: More BSD fixes 2017-10-27 17:01:33 -05:00
Michael Larabel
f5af13bdda phodevi: Don't call vm_stat for mem usage on BSD 2017-10-27 16:55:56 -05:00
Michael Larabel
5104ffbefd phodevi: Don't show "SATA" in BSD disk string 2017-10-27 16:49:29 -05:00
Michael Larabel
43c68c8bda phodevi: String fix for BSD chipset 2017-10-27 16:42:40 -05:00
Michael Larabel
98ce410b9c phodevi: BSD chipset detection 2017-10-27 16:42:27 -05:00
Michael Larabel
dd13bfab16 phodevi: Allow BSD GPU detection via pciconf data 2017-10-27 16:38:02 -05:00
Michael Larabel
905604098e phodevi: Change case 2017-10-27 16:21:55 -05:00
Michael Larabel
5d33dd8309 phodevi: hw.cpu_topology_core_ids support for physical core count on BSD 2017-10-27 16:17:22 -05:00
Michael Larabel
d860935659 phodevi: Another BSD mobo detection tweak 2017-10-27 16:10:18 -05:00
Michael Larabel
02f1f70a1e phodevi: Better detection compared to previous commit 2017-10-27 16:08:17 -05:00
Michael Larabel
ae3d38ddec phodevi: Fix for DragonFlyBSD sometimes reporting string as " " 2017-10-27 16:03:36 -05:00
Michael Larabel
924c41a0bf phodevi: Fix for previous commit 2017-10-27 16:00:41 -05:00
Michael Larabel
fdd75522a6 phodevi: Motherboard detection support on BSD using smbios.planar.product 2017-10-27 16:00:13 -05:00
Michael Larabel
fec5b96365 Merge pull request #201 from lramage94/lede
pts-core: Add LEDE external dependency handling support
2017-10-25 15:25:12 -04:00
Lucas Ramage
ec08145b36 pts-core: Add Linux Embedded Development Environment external dependency handling support 2017-10-25 11:23:55 -04:00
Michael Larabel
3983ab4e44 External dependency updates 2017-10-11 07:46:53 -05:00
Michael Larabel
913ffd4450 Phoronix Test Suite 7.6 Milestone 1 2017-10-10 05:14:50 -05:00
Michael Larabel
818e9bf922 phodevi: Typo in previous commit 2017-10-09 16:08:55 -05:00
Michael Larabel
f1d960d947 phodeviL Thread reporting tweak 2017-10-09 16:08:40 -05:00
Michael Larabel
ea22429b04 phoromatic: Poweroff tweaking 2017-10-08 13:17:49 -05:00
Michael Larabel
8809be22d7 phodevi: Restructure CPU core/thread reporting in system tables 2017-10-08 09:50:25 -05:00
Michael Larabel
3df6cb31da pts-core: Wake-On-LAN handling detection improvements 2017-10-07 16:31:22 -05:00
Michael Larabel
2a26c396a2 phoromatic: Try using systemctl poweroff first when trying to turn off a system 2017-10-07 11:15:09 -05:00
Michael Larabel
80bcf41722 Small updates from recent work 2017-10-07 11:10:31 -05:00
Michael Larabel
443c566a22 Merge pull request #199 from bluntelk/master
Network IP+Mac now use default gateway device
2017-10-07 12:08:57 -04:00
Jason Playne
4d396906d8 Network IP+Mac now use default gateway device 2017-10-07 12:12:21 +08:00
Michael Larabel
e378f0c1ce perf_per_dollar: Add "phoronix-test-suite perf_per_dollar.add <result file>" to allow perf-per-dollar graphs to be added after the fact 2017-10-06 09:05:59 -05:00
Michael Larabel
d15a970833 phoromatic: Always try to wakeup system regardless if ethtool present on client to supply the NetworkWakeOnLAN string 2017-09-27 18:55:43 -05:00
Michael Larabel
d00ce45d5a pts-core: More macOS High Sierra memory tweaking 2017-09-25 16:26:27 -05:00
Michael Larabel
e48b11cb69 phodevi: memory fix for macOS High Sierra 2017-09-25 16:25:24 -05:00
Michael Larabel
b2bb4ff12b phodevi: Add APFS Apple File-System detection on macOS 2017-09-25 15:54:20 -05:00
Michael Larabel
33d6d2c89c phodevi: Add Bcache reporting support 2017-09-25 14:24:20 -05:00
Michael Larabel
1643febee2 Changelog: pts-core: Add external dependency handling for MidnightBSD / mport 2017-09-25 13:02:36 -05:00
Michael Larabel
0dfe353b39 Merge pull request #197 from laffer1/master
Add MidnightBSD package manager configuration.
2017-09-25 14:00:47 -04:00
Michael Larabel
14c1940aae ob_auto_compare: Calling it "result perspective" probably makes the most sense 2017-09-25 12:53:24 -05:00
Lucas Holt
474e12b3e4 Add MidnightBSD package manager configuration. 2017-09-25 13:51:36 -04:00
Michael Larabel
c6820c7413 phodevi: Ignore reporting 'MS-DOS FAT32' EFI file-system on macOS 2017-09-25 10:22:59 -05:00
Michael Larabel
bc1387e711 phodevi: Device ACPI GPU temp 2017-09-24 07:20:19 -05:00
Michael Larabel
eea1d16921 phodevi: Improvement to last commit 2017-09-24 07:18:50 -05:00
Michael Larabel
6669ce5be6 phodevi: Some CPU/GPU temperature reporting improvements 2017-09-24 07:17:18 -05:00
Michael Larabel
bcfd4ea7f6 pts-core: Various updates 2017-09-22 14:25:32 -05:00
Michael Larabel
4b37aa2c34 phodevi: Add IPMI ambient temperature support 2017-09-19 14:43:30 -05:00
Michael Larabel
f84cc6b091 phodevi: Add memory.temp sensor 2017-09-19 14:41:13 -05:00
Michael Larabel
fa41f50698 phodevi: Fixed k10temp CPU temperature reporting 2017-09-19 09:46:18 -05:00
Michael Larabel
2b3c6354b3 Prep for Phoronix Test Suite 7.4 2017-09-18 20:32:27 -05:00
Michael Larabel
c184cc6841 Fix maven name checking for mvn 2017-09-18 09:33:43 -05:00
Michael Larabel
9f3cc3814b pts-core: Add maven external dependency 2017-09-18 09:05:13 -05:00
Michael Larabel
e129e1865e pts-core: Java external dependency updates 2017-09-18 09:02:17 -05:00
Michael Larabel
f668188cbd PTS 7.4 is almost here 2017-09-15 06:53:24 -05:00
Michael Larabel
2ba79b3671 phodevi: Report removable disks 2017-09-13 07:12:13 -05:00
Michael Larabel
caab17cd65 pts-core: Allow local IP fallback detection via hostname 2017-09-13 07:03:16 -05:00
Michael Larabel
b11a44932e pts-core: Add network-info sub-command 2017-09-13 07:01:42 -05:00
Michael Larabel
bc217e4c0e phodevi: NVMe disk reporting on BSDs 2017-09-13 06:42:21 -05:00
Michael Larabel
aa4c7624b7 pts_Graph: Reset to original 1.2x 2017-09-12 16:46:35 -05:00
Michael Larabel
f6bf4378ac pts_Graph: Increase max size 2017-09-12 16:45:27 -05:00
Michael Larabel
db6a019dad pts_Graph: Allow line graphs to have adjustable floor/bottom to better present data on graph 2017-09-12 16:19:54 -05:00
Michael Larabel
c05f7c8c11 pts-core: Fix install time reporting from the info sub-command when passing a test profile 2017-09-12 14:27:34 -05:00
Michael Larabel
9a0069cbe9 Add release-highlights.md to show various user-friendly release notes/highlights/whats-new 2017-09-12 09:25:10 -05:00
Michael Larabel
b87948ce60 pts-core: Improve command documentation categories/organization 2017-09-11 19:08:43 -05:00
Michael Larabel
39e7940ba8 Phoronix Test Suite 7.4 Milestone 4 2017-09-11 05:21:04 -05:00
Michael Larabel
f6b4343a5e pts-core: Report on updated OpenBenchmarking.org index update when new/updated tests are introduced 2017-09-10 12:34:34 -05:00
Michael Larabel
f84784205d pts-core: OpenJDK ex dep fix for Arch 2017-09-10 12:33:55 -05:00
Michael Larabel
5b839203e6 pts-core: External dependency updates 2017-09-09 10:36:48 -05:00
Michael Larabel
4be3f1ee00 pts-core: Ensure duplicate dependencies to install don't become present 2017-09-09 08:54:34 -05:00
Michael Larabel
b078a38354 pts-core: Fix for OpenMPI detection on some distros like openSUSE 2017-09-09 08:46:21 -05:00
Michael Larabel
1311fa8588 pts-core: Add nasm external dependency entries 2017-09-09 08:40:21 -05:00
Michael Larabel
969375e06e phodevi: EPYC detection 2017-09-08 17:43:37 -05:00
Michael Larabel
422b06bbb3 pts-core: Add TEST_EXEC_PREPEND support 2017-09-08 15:42:58 -05:00
Michael Larabel
0a1ac41bd0 toggle_screensaver: improved GNOME screensaver handling
toggle_screensaver: work better under Wayland / non-X environments where display server might not be detected
2017-09-08 09:20:44 -05:00
Michael Larabel
e9e6b1c974 pts-core: Fix warning about passing variables by ref to PTS modules 2017-09-08 08:00:16 -05:00
Fatima Sheremetyeva
cc97a52c85 pts-core: Fix for Ubuntu ex dep handle 2017-09-07 10:58:55 -04:00
Michael Larabel
69d15a9072 pts-core: ZFS previous commit warning fix 2017-09-06 11:15:02 -05:00
Michael Larabel
57a78237d3 phodevi: Last of ipmi sensor tweak 2017-09-06 09:03:24 -05:00
Michael Larabel
bc84af9eef phodevi: Fix for previous commit 2017-09-06 08:54:45 -05:00
Michael Larabel
c03621d572 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2017-09-06 08:53:29 -05:00
Michael Larabel
58a2d07acf phodevi: IPMI fan speed reporting 2017-09-06 08:53:19 -05:00
Michael Larabel
75a1b692ce Merge pull request #195 from gmelikov/zfs
Add ZFS disk target for disk tests
2017-09-04 07:58:12 -04:00
George Melikov
0fa2141e03 pts-core: Add ZFS disk target for disk tests
Signed-off-by: George Melikov <mail@gmelikov.ru>
2017-09-04 11:53:52 +03:00
Michael Larabel
fd8c29db23 phodevi: Add basic Budgie desktop reporting 2017-08-30 15:08:15 -05:00
Michael Larabel
3c6a4b8537 system_monitor" Don't show on LIB 2017-08-29 10:44:31 -05:00
Michael Larabel
047ee7be47 pts-core: Ensure XAUTHORITY gets passed if relevant to test execution 2017-08-29 09:48:39 -05:00
Michael Larabel
4557aa8fba system_monitor: Guard against missing pcntl support 2017-08-29 07:26:25 -05:00
Michael Larabel
149c628b38 Phoronix Test Suite 7.4 Milestone 3 2017-08-28 19:25:17 -05:00
Michael Larabel
af186ec618 pts-core: Reworked test exit status handling 2017-08-28 17:15:42 -05:00
Michael Larabel
381b1a864a python scikit appears to have disappeared from openSUSE package repo 2017-08-28 05:33:13 -05:00
Michael Larabel
59e7dbfced pts_Graph: Fix OB highlight result graph value regression 2017-08-27 12:42:55 -05:00
Michael Larabel
7950f33663 phodevi: Only rely upon vulkaninfo for Vulkan detection for now 2017-08-18 05:25:46 -05:00
Michael Larabel
e103fdd836 phodevi: Don't be redundant about reporting thread count when already reported below 2017-08-18 05:21:49 -05:00
Michael Larabel
d374da3cf5 phodevi: Minor cleanup to ensure clean number for math 2017-08-17 12:35:23 -05:00
Michael Larabel
61d9e0cc8c phodevi: Improve dmidecode handling 2017-08-17 12:28:01 -05:00
Michael Larabel
dd94c12c90 phodevi: Improve CPU physical core count detection for multi-socket systems 2017-08-17 12:19:45 -05:00
Michael Larabel
370354ca23 graphics_event_checker: Drop graphics_event_checker module as really provides no real benefit these days 2017-08-15 20:05:42 -05:00
Michael Larabel
807e55269c phodevi: "Qualcomm" for E detection doesn't work out due to Qualcomm WLAN adapters 2017-08-15 19:42:23 -05:00
Michael Larabel
aae681713b ob_auto_compare: Don't continue doing auto compare results if too slow 2017-08-15 17:32:16 -05:00
Michael Larabel
1511970f99 ob_auto_compare: New module for seamless OpenBenchmarking.org result references 2017-08-15 15:50:00 -05:00
Michael Larabel
7367b078f2 pts-core: Add module call __test_run_success_inline_result 2017-08-15 15:49:02 -05:00
Michael Larabel
f408f44dce Phoronix Test Suite 7.4.0 Milestone 2 2017-08-15 10:42:42 -05:00
Michael Larabel
78a5372294 phodevi: More tweaking for new system ID 2017-08-15 10:36:47 -05:00
Michael Larabel
24b74c4c5f phodevi: Initial "system type" support 2017-08-15 09:10:43 -05:00
Michael Larabel
ed1b2bbc7e phodevi: GPU model reporting improvement, should help AMD to report less codenames 2017-08-11 08:22:49 -05:00
Michael Larabel
3c444f1c18 pts-core: Resolve possibility of first graph missing when exporting results as PDF 2017-08-10 12:19:29 -05:00
Michael Larabel
b4183cc1eb Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2017-08-10 09:03:56 -05:00
Michael Larabel
57153279ef pts-core: Add extra line break to concise test_run_error 2017-08-10 09:03:34 -05:00
Fatima Sheremetyeva
66dae6a931 pts-core: New fallback when failing to match test, query OB an extra time 2017-08-10 09:09:12 -04:00
Michael Larabel
2d9b349907 phodevi: Add monitor detection based on parsing EDID supplied by xrandr --prop (works well for newer NVIDIA setups) 2017-08-09 19:31:08 -05:00
Michael Larabel
3ffd051e78 pts-core: Ensure test result is cloned prior to sorting it for the inline result display 2017-08-02 18:09:03 -05:00
Michael Larabel
4c180aa96d pts-core: Reverse previous commit 2017-08-02 14:59:26 -05:00
Michael Larabel
75633423f6 prs-core: Ensure test_result_buffer is cloned when cloning pts_test_result 2017-08-02 14:44:41 -05:00
Michael Larabel
54ba1572d4 Merge pull request #191 from paolo-github/sudo-fix
pts-core: Make sudo preserve environment when gaining root access
2017-08-02 10:09:53 -04:00
Paolo Valente
be9b33dc28 pts-core: Make sudo preserve environment when gaining root access
Signed-off-by: Paolo Valente <paolo.valente@linaro.org>
2017-08-02 16:05:11 +02:00
Michael Larabel
cadd0b8ad5 pts-core: Fixes/cleanups around the inline result reporting 2017-08-02 07:25:38 -05:00
Michael Larabel
9c409c12d4 phodevi: WSLFS (Windows Subsystem for Linux) file-system detection 2017-08-01 07:19:23 -05:00
Michael Larabel
891e6255fe Phoronix Test Suite 7.4 Milestone 1 2017-07-31 13:54:10 -05:00
Michael Larabel
e95a9d93a2 pts-core: Add test_run_success_inline to display mode interface to allow in-progress result graphs to only show for now in the concise display mode 2017-07-31 11:18:23 -05:00
Michael Larabel
06a9f3d529 pts-core: Allow showing existing results from a result file in-progress on test runs 2017-07-31 11:05:03 -05:00
Michael Larabel
ab54542d61 pts-core: Drop juju scripts as appears unmaintained, happy to re-add if maintained 2017-07-31 10:22:48 -05:00
Michael Larabel
1cc351dc07 pts_Graph: Color tweaking 2017-07-31 10:19:12 -05:00
Michael Larabel
062b9a6bba pts-core: Fix for potential empty needle in some conditions 2017-07-20 14:21:45 -05:00
Michael Larabel
fefd63bed9 perf_tips: PHP notice fix 2017-07-19 13:13:12 -05:00
Michael Larabel
3b4699aaac perf_tips: Add .show option for listing to user possible performance tips 2017-07-19 10:08:09 -05:00
Michael Larabel
40466a0847 pts-core: Rename perf_tip_prompter to perf_tips 2017-07-19 10:01:49 -05:00
Michael Larabel
9c1f2f4b65 pts-core: Add autoo-load-module sub-command 2017-07-19 09:54:10 -05:00
Michael Larabel
aa89ca4339 pts-core: Add phoronix-test-suite unload-module sub-command 2017-07-19 09:43:38 -05:00
Michael Larabel
39fe54abc0 perf_tip_prompter: cleanups, the code itself should work fine on non-Linux platforms 2017-07-19 09:25:54 -05:00
Michael Larabel
5637bf542a perf_tip_prompter: Remove hack checks from previous commit 2017-07-19 09:23:49 -05:00
Michael Larabel
4d6b97d39a perf_tip_prompter: Add a powersave tip, make unified handling of performance tips, style the tips nicely for CLI 2017-07-19 09:20:48 -05:00
Michael Larabel
892faf7e9d pts-core: Few API additions for use by module, will be used in next commit 2017-07-19 09:19:38 -05:00
Michael Larabel
b15d3f085e perf_tip_prompter: Report performance tips at pre-run process time rather than prior to each test execution 2017-07-19 08:42:54 -05:00
Michael Larabel
0318bb52be Merge pull request #189 from paolo-github/perf_tip_prompter
perf_tip_prompter: Add new module to alert the user if the system is …
2017-07-19 09:30:35 -04:00
Paolo Valente
c2904258f5 perf_tip_prompter: Add new module to alert the user if the system is misconfigured for the target test 2017-07-19 10:09:34 +02:00
Michael Larabel
143c775f2a phodevi: Clear up extra potential fluff in the GPU model string 2017-07-13 09:26:43 -05:00
Michael Larabel
38b36330d9 pts-core: Don't show PTS version when there is no sub-title, just leave it empty 2017-07-08 10:48:17 -05:00
Michael Larabel
8b797189b1 Phoronix Test Suite 7.2.1 2017-06-29 20:25:22 -05:00
Michael Larabel
ddf67c08bb phodevi: Typo from previous commit 2017-06-27 15:12:41 -05:00
Michael Larabel
b2ddf027d0 phodevi: AVX-512 reporting 2017-06-27 15:11:56 -05:00
Michael Larabel
5bfe99d244 Merge pull request #178 from brassh/patch-1
Update pts_network.php
2017-06-19 13:37:26 -04:00
brassh
d751e3cfbf Update pts_network.php
typo correction, should resolve error
"
[NOTICE] Undefined: ch in pts_network:166
[NOTICE] curl_setopt() expects parameter 1 to be resource, null given in pts_network:166
"
when installing tests etc. from behind authenticating proxy
2017-06-18 23:04:31 +02:00
Michael Larabel
43a3aa98f6 pts-core: Fix typo from previous commit 2017-06-13 19:55:35 -05:00
Michael Larabel
c9be9e14d2 pts-core: Fix warning in pts_test_result_parser 2017-06-13 19:38:13 -05:00
Michael Larabel
0dad2a25d4 pts-core: continue on from prev commit 2017-06-09 09:30:25 -05:00
Michael Larabel
86997d281c pts-core: Factor in run times ignored when deciding whether to dynamically increase run count 2017-06-09 09:05:08 -05:00
Michael Larabel
451b258c2d pts-core: Minor optimization to is_suite() and more easily allow explicit paths to be used, overriding what's in OB cache 2017-06-09 08:36:22 -05:00
Michael Larabel
399b796330 pts-core: Minor optimization to is_test_profile() and more easily allow explicit paths to be used, overriding what's in OB cache 2017-06-09 08:34:44 -05:00
Michael Larabel
580ffac277 pts-core: Bump core to 7201 due to change in call_test_script from earlier commits 2017-06-09 08:23:31 -05:00
Michael Larabel
31b1f964d2 pts-core: Pass install/validate-install directory in quotes due to previous change 2017-06-09 08:16:19 -05:00
Michael Larabel
5c064d7b76 pts-core: Fix null maintainer potentially in dump-tests-to-git 2017-06-09 08:15:24 -05:00
Michael Larabel
80813ce7c7 Merge pull request #177 from FeralInteractive/master
Remove globbing of arguments for pre/interim/post scripts
2017-06-09 09:12:00 -04:00
Marc Di Luzio
8fd370afd6 Remove globbing of arguments for pre/interim/post scripts so they behave like the main executable 2017-06-08 16:52:24 +01:00
Michael Larabel
4a74e67ee5 Phoronix Test Suite 7.2.0 2017-06-08 08:35:06 -05:00
Michael Larabel
a02d0c8c70 pts-core: Few last minute updates 2017-06-06 16:30:42 -05:00
Michael Larabel
f8eaa96156 pts-core: Shift where the CharsToSpace parsing happens 2017-06-05 09:05:51 -05:00
Michael Larabel
2cfb430256 pts-core: Add TurnCharsToSpace support to result parser 2017-06-05 08:58:14 -05:00
Michael Larabel
6ad454b881 pts-core: Thanks to previous commit, this check can be removed 2017-06-04 08:13:22 -05:00
Michael Larabel
9c64945f7f pts-core: Allow partial matches on normalize against 2017-06-04 08:12:38 -05:00
Michael Larabel
af987e6608 pts_Graph: Fix multi-way comparison detection 2017-06-03 09:41:32 -05:00
Michael Larabel
662360012f Phoronix Test Suite 7.2.0 M4 2017-06-03 08:18:06 -05:00
Michael Larabel
fe898279bb pts_Graph: Allow optionally specifying custom colors via the GRAPH_HIGHLIGHT environment variable 2017-06-03 07:04:17 -05:00
Michael Larabel
cf86a9b209 ChangeLog: Add the pts_Graph work done in previous commit 2017-06-03 06:23:11 -05:00
Michael Larabel
35a752b10a pts-core: Add basic dump-suites-to-git sub-command 2017-06-03 06:22:26 -05:00
Michael Larabel
70cbb94301 pts-core: clean up some strings 2017-06-01 13:18:22 -05:00
Michael Larabel
311eca9777 pts-core: Add "vulkan-development" external dependency 2017-05-31 12:34:52 -05:00
Michael Larabel
bcb3283993 pts-core: Additional safety checks around loading test result arguments from a result file 2017-05-31 12:00:36 -05:00
Michael Larabel
d8ec874d6c pts-core: Result parser fixes/improvements 2017-05-30 16:44:43 -05:00
Michael Larabel
346672145e pts-core: Fix for cachebench parsing of " " search key 2017-05-30 16:33:16 -05:00
Michael Larabel
2bce5cdd02 pts-core: Add Git executable check for dump-tests-to-git 2017-05-30 14:28:24 -05:00
Michael Larabel
28aa93b15c pts-core: Add basic dump-tests-to-git sub-command 2017-05-30 13:18:45 -05:00
Michael Larabel
322b266b48 phoromatic: fix priority matching when editing test schedule 2017-05-30 08:51:02 -05:00
Michael Larabel
1a92c4faaa phoromatic: Show the Run priority on schedules page 2017-05-30 08:50:05 -05:00
Michael Larabel
0bf2e84eec phoromatic: Introduce support for setting a run-priority on test schedules 2017-05-30 08:45:12 -05:00
Michael Larabel
8f4335954c phoromatic: Infrastructure changes for introducing RunPriority on test schedules 2017-05-30 08:32:20 -05:00
Michael Larabel
a7995738ec pts-core: If a OB upload fails with system logs, try again without system logs 2017-05-27 07:56:14 -05:00
Michael Larabel
d5a2587daa pts_Graph: Don't make empty identifier entries alert/red in result file table 2017-05-26 11:59:32 -05:00
Michael Larabel
dde42d8ffc Phoronix Test Suite 7.2 Milestone 3 2017-05-26 08:00:52 -05:00
Michael Larabel
40829023c3 pts_Graph: Line graph key tweak 2017-05-23 14:08:26 -05:00
Fatima Sheremetyeva
118cff1799 pts-core: Result parser fix for DXMD 2017-05-23 15:07:47 -04:00
Michael Larabel
e06e304a24 pts_Graph: Fix typo in previous commit 2017-05-23 11:09:35 -05:00
Michael Larabel
f4f08bd210 pts-core: Update tweaks for previous commits 2017-05-23 11:07:56 -05:00
Michael Larabel
67b304248c pts_Graph: Show all results in result file table, including runs with null identifiers 2017-05-23 10:56:56 -05:00
Michael Larabel
6b4d99816a pts-core: Fix appending to test arguments yielding excess mess when re-running tests 2017-05-23 10:45:10 -05:00
Michael Larabel
ec6c58756f pts_Graph: Don't allow duplicate identifiers 2017-05-22 09:35:07 -05:00
Michael Larabel
3465b95292 pts-core: Add dump-file-info helper 2017-05-19 16:01:38 -05:00
Michael Larabel
45259478a4 phoromatic: Handling for non-PCNTL support in Phoromatic client 2017-05-18 12:17:58 -05:00
Michael Larabel
872b071670 phodevi: Monitor *DEBUG* environment variables 2017-05-18 08:30:50 -05:00
Michael Larabel
4b8ef61a4b phodevi: Fallback for being able to read I/O scheduler on NVMe device on Linux 2017-05-04 19:46:29 -05:00
Michael Larabel
ec8acf9ed9 Phoronix Test Suite 7.2.0 Milestone 2 2017-05-04 06:08:29 -05:00
Michael Larabel
b155c1ea90 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2017-05-03 16:00:56 -05:00
Michael Larabel
d7cd61deb1 perf_per_dollar: Fix error, missing variable from copy paste fail 2017-05-03 16:00:38 -05:00
Fatima Sheremetyeva
9720bc7e16 pts-core: Result parser fix for strip result / strip result posfix 2017-05-03 09:41:34 -04:00
Fatima Sheremetyeva
e283682246 phodevi: Add PGI compiler detection 2017-05-02 08:47:25 -04:00
Michael Larabel
580fd6c441 pts-core: Make force_recover_from_file() static, patch from Stefan Dösinger 2017-05-02 07:32:46 -05:00
Michael Larabel
9507f952c6 pts-core: Use spl_autoload_register rather than __autoload

2017-04-27 01:45:30 -05:00
Michael Larabel
8af17a0a6c pts-core: Small update on top of previous commit 2017-04-19 10:07:47 -05:00
Michael Larabel
8740216864 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2017-04-19 10:04:52 -05:00
Michael Larabel
7f5028f3ce perf_per_dollar: Allow custom units, support LIB results 2017-04-19 10:04:27 -05:00
Fatima Sheremetyeva
631cb56662 pts-core: Parser improvements for time with test profiles like Blender 2017-04-18 10:18:35 -04:00
Michael Larabel
95b4caa7e2 pts-core: Add SKIP_TESTS_HAVING_ARGS environment variable 2017-04-17 08:33:00 -05:00
Michael Larabel
27e9e5a56c documentation: Drop reference to detailed-system-info that was removed from PTS 7.0 when system-info became more verbose by default 2017-04-14 14:39:00 -05:00
Michael Larabel
dfc0b8978a documentation: Drop reference to detailed-system-info that was removed from PTS 7.0 when system-info became more verbose by default 2017-04-14 14:38:04 -05:00
Michael Larabel
90d3fe2783 Phoronix Test Suite 7.2.0 Milestone 1 2017-04-14 08:09:06 -05:00
Michael Larabel
92426aedc5 pts-core: Fix for potential warning 2017-04-14 08:03:29 -05:00
Michael Larabel
62c9f10ea4 pts-core: About time to bump this for TRYSIL cycle 2017-04-06 09:13:11 -05:00
Michael Larabel
07d85ef98e phodevi: Fix for listing dual 4K displays and other select multi-monitor configurations 2017-04-06 09:11:18 -05:00
Michael Larabel
a84d3c0e31 pts-core: Clear the result identifier on multiple runs of same result identifier 2017-04-06 08:42:42 -05:00
Michael Larabel
eb210e506e phoronix-test-suite: Add eopkg php helper to script 2017-04-06 07:41:47 -05:00
Michael Larabel
7f232753cd pts-graph: some tweaking 2017-04-06 07:41:39 -05:00
Michael Larabel
e87e83a289 system_monitor: Fix for when individual monitoring is disabled 2017-03-31 11:46:49 -05:00
Michael Larabel
6cee52c416 pts-core: Ensure c++ is present on Fedora systems with gcc-c++ being separate from gcc 2017-03-30 19:30:14 -05:00
Michael Larabel
a7a38b2fc0 pts-core: Add AppendToArgumentsDescription option to result parser capabilities 2017-03-30 11:03:28 -05:00
Michael Larabel
8b6a1490bb pts-core: Fix for showing max-result 2017-03-29 09:53:54 -05:00
Fatima Sheremetyeva
b71fb80c7e pts-core: Parser improvement 2017-03-29 10:08:42 -04:00
Michael Larabel
82672e54d7 Phoronix Test Suite 7.0.1 2017-03-28 07:59:47 -05:00
Michael Larabel
3981d4a169 pts-core: Avoid duplicate entries in auto-disk-partitions 2017-03-27 13:00:55 -05:00
Michael Larabel
b82cce0531 pts-core: Fix misspelled variable name 2017-03-21 11:51:26 -05:00
Michael Larabel
6d1e06bf51 pts-core: Improve formatting of text in 'info' sub-command 2017-03-21 08:24:28 -05:00
Michael Larabel
daa583d783 pts-core: Minor adjustment to pts_network, unrelated change in phodevi_gpu just commented out 2017-03-21 06:31:26 -05:00
Michael Larabel
dec8a5b346 pts-core: Improve formatting of "to install" text table 2017-03-17 10:22:06 -05:00
Michael Larabel
fe67cb459b pts-core: Remove " FB" references when pulling from /sys/class/graphics/fb0/name 2017-03-17 07:14:36 -05:00
Michael Larabel
13ea3d230f phodevi: Add a fallback detection for PowerVR graphics 2017-03-16 16:17:01 -05:00
Michael Larabel
155e21e9ad pts-core: Bold some install strings 2017-03-16 13:19:44 -05:00
Michael Larabel
f87a035117 phodevi: Add a possible last fallback for GPU reporting of using fb0 name if no other choice is available 2017-03-16 13:07:13 -05:00
Michael Larabel
2e0ccb9c48 pts-core: Use new password option on prompt_user_input() during OB login 2017-03-16 10:55:44 -05:00
Michael Larabel
74f0c18b40 pts-core: Support for network proxies with username/password requirement
Cleaned up version of: https://www.phoronix.com/forums/forum/phoronix/phoronix-test-suite/938264-connection-to-a-proxy-with-authentication
2017-03-16 10:17:57 -05:00
Michael Larabel
6e9e05e3fa phodevi: Add fallback detection for ARM Mali 2017-03-15 16:53:49 -05:00
Michael Larabel
e744b886c3 report_test_run_times: Add INSTALL_SIZES_ARE_A_BENCHMARK=1 option for generating install size graphs 2017-03-15 12:52:56 -05:00
Michael Larabel
4df4c975c3 report_test_run_times: Add INSTALL_TIMES_ARE_A_BENCHMARK=1 option for generating install time graphs 2017-03-15 12:09:14 -05:00
Michael Larabel
8c60566f5f pts-core: Remove a debug line, update changelog 2017-03-15 11:32:48 -05:00
Michael Larabel
0f5bb82f87 Merge branch 'master' of https://github.com/phoronix-test-suite/phoronix-test-suite 2017-03-13 22:17:49 +00:00
Michael Larabel
4a679bc3a3 phodevi: Expanded sensor coverage for Tegra 2017-03-13 22:17:19 +00:00
Michael Larabel
d4a9c04e96 pts-core: Clean up string 2017-03-13 07:15:36 -05:00
Michael Larabel
2c8b703a0d phodevi: Improved detection for Quill AArch64 board and possibly other boards 2017-03-10 10:25:35 -06:00
Michael Larabel
59948042c2 pts-core: Always enable CURLOPT_SSL_VERIFYPEER 2017-03-08 17:03:59 -06:00
Michael Larabel
1b1f7f191f Phoronix Test Suite 7.0.0 prepping... 2017-03-06 16:30:48 -06:00
Michael Larabel
516b41017a phodevi: Expand GCC version detection when -dumpversion isn't supported (e.g. gcc-snapshot of gcc 7.0.1) 2017-03-06 13:41:42 -06:00
Michael Larabel
0ea2375c87 pts-core: Last testing before 7.0.0 2017-03-04 09:38:37 -06:00
Michael Larabel
be1a4dec8a pts-core: Improve formatting of PDF generation on large result files 2017-03-01 20:35:07 -06:00
Michael Larabel
7aadba1d57 pts-core: Make the AppStream meta data happy 2017-03-01 06:43:45 -06:00
Michael Larabel
7bf6c03113 Phoronix Test Suite 7.0.0 Milestone 5 2017-02-28 19:52:06 -06:00
Michael Larabel
60716494e6 pts-core: Show results in text mode when show-result sub-command is run without DISPLAY 2017-02-28 13:59:15 -06:00
Michael Larabel
51acdc67c7 pts-core: Trivial changes 2017-02-28 11:42:57 -06:00
Michael Larabel
c279b0a3a3 report_test_run_times: new module to report test run times as result graphs 2017-02-23 06:59:01 -06:00
Michael Larabel
bf2e8dcc16 pts-core: There's now a use-case for using microtime() over time() in pts_test_execution (new module next commit) 2017-02-23 06:58:22 -06:00
Michael Larabel
791d82ecdf pts-core: Only preserve the original raw result string if it differs from the final result 2017-02-22 14:59:30 -06:00
Michael Larabel
ed27e1a36f pts-core: Allow bzip2 compression of result file uploads to OpenBenchmarking.org 2017-02-21 18:44:44 -06:00
Fatima Sheremetyeva
da86cd5046 pts-core: Adjustment to previous commit 2017-02-21 09:20:04 -05:00
Fatima Sheremetyeva
78b7da54ef Merge branch 'master' of https://github.com/phoronix-test-suite/phoronix-test-suite 2017-02-21 08:26:17 -05:00
Fatima Sheremetyeva
f8f16f3e87 pts-core: Allow parsing of frame times in format to be used by HITMAN test profile 2017-02-21 08:24:55 -05:00
Michael Larabel
6885629cb7 pts_Graph: Remove rogue debug comment left 2017-02-16 12:03:19 -06:00
Michael Larabel
024189d25d Make it very clear PHP 7 is fully supported since some still seem to be confused... 2017-02-16 08:40:57 -06:00
Michael Larabel
8782fcdaa5 Phoronix Test Suite 7.0 Milestone 4 2017-02-16 08:16:10 -06:00
Michael Larabel
5bbf8a8caf pts_Graph: Improve rendering a bit of results for multi-way comparisons 2017-02-15 19:29:45 -06:00
Michael Larabel
1d21ea4a53 pts-core: Better normalizing for multi-way comparisons by inverting the current behavior 2017-02-15 19:22:04 -06:00
Michael Larabel
ea890b7b8b pts-core: More minor tweaks 2017-02-12 17:44:43 -06:00
Michael Larabel
da2648fec8 pts-core: Color the value rather than the scale on line graph results sent to CLI display 2017-02-09 17:15:48 -06:00
Michael Larabel
767e8641e1 pts_Graph: Make box plot parts more prominent 2017-02-09 16:46:42 -06:00
Michael Larabel
1658bf1e65 pts_Graph: Final optimizations for now.... 2017-02-09 16:42:05 -06:00
Michael Larabel
5245f152a1 pts_Graph: Further optimize the size of the box plot graphs 2017-02-09 16:21:02 -06:00
Michael Larabel
3cae6d56a6 pts_Graph: typo fix 2017-02-09 11:53:36 -06:00
Michael Larabel
22e0a1134a pts-core: Drop some more rounding 2017-02-09 11:51:12 -06:00
Michael Larabel
18f8662c24 pts_Graph: More values that should have been rounded 2017-02-09 11:50:28 -06:00
Michael Larabel
42b9a5b6fd pts-core: Ensure top_end is rounded 2017-02-09 11:48:32 -06:00
Michael Larabel
2e57174e46 pts_Graph: Get rid of some artificial 0.5 +/- 2017-02-09 11:45:05 -06:00
Michael Larabel
39aef2d526 pts_Graph: More optimizations 2017-02-09 11:42:00 -06:00
Michael Larabel
9af4fe7a0e pts_Graph: Some optimizations to compact systems table 2017-02-09 11:17:56 -06:00
Michael Larabel
894364a09c pts_Graph: Various SVG size/efficiency optimizations 2017-02-09 10:48:27 -06:00
Michael Larabel
3bbd06d599 pts_Graph: Various graph tweaks / minor improvements 2017-02-09 09:41:05 -06:00
Michael Larabel
1907838b35 pts_Graph: Slightly increase per_identifier_height size on multi-way comparisons 2017-02-09 08:58:07 -06:00
Michael Larabel
8eda4a5a91 pts-core: Just some trivial updates 2017-02-08 21:00:55 -06:00
Michael Larabel
712de905a4 pts-core: Improve some styling for the 'info' sub-command 2017-02-08 20:41:15 -06:00
Michael Larabel
a1d05a987c pts-core: Improved styling for 'help' sub-command 2017-02-08 20:32:26 -06:00
Michael Larabel
abbe900f13 pts-core: UI improvements for system-sensors and compact systems table 2017-02-08 18:31:53 -06:00
Michael Larabel
5a96db3380 pts_Graph: Refine the multi-way bar height algo 2017-02-08 17:39:53 -06:00
Fatima Sheremetyeva
56ef1a00b6 phodevi: Append LLVM version to OpenGL driver string where relevant 2017-02-08 12:50:27 -05:00
Michael Larabel
e6f19c8988 pts-core: Few text formatting improvements 2017-02-08 11:43:09 -06:00
Michael Larabel
0d768702e0 pts_Graph: Allow more compact multi-way comparison graphs 2017-02-08 08:57:13 -06:00
Michael Larabel
a45895b0ff pts-core: stress-run styling improvements 2017-02-07 12:30:52 -06:00
Michael Larabel
c1a6dcc851 pts_Graph: Continued tweaking of graph UI 2017-02-07 10:52:32 -06:00
Michael Larabel
eafc5b7a7f phodevi: Continued tweaking on the new system information view 2017-02-07 09:25:58 -06:00
Michael Larabel
1c31a919b6 pts-core: OpenSUSE exdep installer should be set to non-interactive 2017-02-07 06:46:36 -06:00
Michael Larabel
5e02c1202c pts-core: OpenSUSE external dependency updates 2017-02-07 06:45:09 -06:00
Michael Larabel
2c9cfa4aa7 Phoronix Test Suite 7.0 M3 2017-02-06 20:30:31 -06:00
Michael Larabel
9b22974ea4 pts-core: Only color-code results when there are more than 1 result to be listed 2017-02-05 20:49:34 -06:00
Michael Larabel
bee7eeb30a pts-core: Some more CLI formatting improvements 2017-02-05 19:46:21 -06:00
Michael Larabel
a7a0a85183 pts-core: Rogue $ at EOF 2017-02-03 07:41:59 -06:00
Michael Larabel
be6ee9b44e pts-core: More coloring improvements 2017-02-03 07:20:16 -06:00
Michael Larabel
98a9f44146 pts-core: Various console coloring improvements 2017-02-02 21:02:40 -06:00
Michael Larabel
9004ab7410 pts-core: Restore setting the OpenBenchmarking.org ID to the ReferenceID field in the result file when cloning from OpenBenchmarking.org 2017-02-02 20:28:52 -06:00
Fatima Sheremetyeva
43e0657d62 pts-core: Add debug-result-parser sub-command as a way to debug test profile result-parser defintions, just scan for old test log files and don't actually execute test 2017-02-02 16:10:14 -05:00
Michael Larabel
639a4739e5 pts-core: Trivial text modifications 2017-02-01 20:20:45 -06:00
Michael Larabel
5d988fb686 pts-core: tweaking text string for test results 2017-02-01 20:01:04 -06:00
Michael Larabel
602ad4bd8e pts-core: Bump core version for clarity 2017-02-01 19:42:35 -06:00
Michael Larabel
7ea7799327 pts-core: Text improvements when using cache share 2017-02-01 19:27:45 -06:00
Michael Larabel
edce918fc2 pts-core: More result handling work 2017-02-01 19:08:32 -06:00
Fatima Sheremetyeva
66966c63bd pts-core: Drop secondary_linked_results handling now that all tests can create multiple result outputs natively, use that code path 2017-02-01 19:42:29 -05:00
Fatima Sheremetyeva
4fdbf3e04d pts-core: Adjustments for piping secondary linked runs over to the new code paths 2017-02-01 19:39:36 -05:00
Michael Larabel
28689112ef pts-core: Allow one test run to generate multiple result outputs (graphs, etc) from multiple result-definition entries 2017-02-01 15:50:54 -06:00
Michael Larabel
bfbd5600bf pts-core: Almost done plumbing for multiple result outputs 2017-02-01 13:23:15 -06:00
Michael Larabel
4ba6342b94 pts-core: big cleanup around active-> handling in test execution 2017-02-01 11:02:08 -06:00
Michael Larabel
d72518f471 pts-core: Add AppendToArgumentsDescription to the results-parser schema for appending a string to the used arguments description string on test execution
pts-core: Add the result-scale to the test profile comparison_hash (NOTE: any external data stores making use of the comparison_hash should thus rebuild their hash indexes)
2017-02-01 09:36:48 -06:00
Michael Larabel
e1340308aa pts-core: Dropping of some deprecated checks 2017-01-31 19:59:05 -06:00
Michael Larabel
e9788b9f35 pts-core: Fix from yesterday's changes causing sensor-based result tests from registering results with the new interfaces 2017-01-31 09:48:15 -06:00
Michael Larabel
3b65a0329e ChangeLog: Cleanup change-log entries, drop pre-4.0 work 2017-01-30 21:01:43 -06:00
Michael Larabel
7c02413dc6 pts-core: Last of the result parser changes for now, probably 2017-01-30 20:47:11 -06:00
Michael Larabel
9a4d519a18 pts-core: More test result parsing debug improvements 2017-01-30 20:26:55 -06:00
Michael Larabel
218f5cfab0 pts-core: add more debugging helpers for test result parsing 2017-01-30 20:24:19 -06:00
Michael Larabel
82389c8e6a pts-core: Streamline the min/max handling in the test result parser 2017-01-30 19:48:05 -06:00
Michael Larabel
fd26da038a pts-core: Introduce parse_result_process_entry to pts_test_result_parser 2017-01-30 19:37:27 -06:00
Michael Larabel
0c84dd460c pts-core: continued pts_test_result_parser restructuring 2017-01-30 19:19:48 -06:00
Michael Larabel
05e5b13b17 pts-core: More cleansing of pts_test_result_parser 2017-01-30 19:00:13 -06:00
Michael Larabel
976a1564c2 pts-core: Streamline PASS/FAIL result handling 2017-01-30 17:01:40 -06:00
Michael Larabel
803e11d274 pts-core: More cleaning in pts_test_result_parser 2017-01-30 16:45:18 -06:00
Michael Larabel
4f60331beb pts-core: Better safeguard against returning bad data in pts_test_result_parser 2017-01-30 16:20:21 -06:00
Michael Larabel
5219e0a08d pts-core: More refactoring of pts_test_execution / pts_test_result_parser 2017-01-30 15:47:15 -06:00
Michael Larabel
c166443a11 pts-core: Move result post-processing from test_run_manager into pts_test_execution... working towards one-run-multi-result parsing support 2017-01-30 15:24:26 -06:00
Michael Larabel
d8d72f6d4e pts-core: Some improved detection of generic external dependency packages 2017-01-28 08:20:19 -06:00
Michael Larabel
4be09f1155 pts-core: Formatting improvements plus add percentages for winners-and-losers 2017-01-28 07:57:29 -06:00
Michael Larabel
c4a82ae8f6 pts-core: Don't pass files greater than ~50MB to the result parser as likely too big to parse and invalid data like lots of warnings/errors from test 2017-01-27 17:33:08 -06:00
Michael Larabel
a19b10d401 pts-core: fix another case of installed_test data potentially being unset 2017-01-26 11:05:34 -06:00
Michael Larabel
5d941004e2 pts-core: Avoid possible case of unset compilerdata 2017-01-26 10:43:25 -06:00
Michael Larabel
c3c47d7829 pts-core: for winners-and-losers ensure each result object has at least two results 2017-01-26 09:48:29 -06:00
Michael Larabel
ec013399f0 pts-core: Add winners-and-losers sub-command for providing some first/last place finish stats 2017-01-25 16:02:51 -06:00
Michael Larabel
60154761b5 phodevi: CPU cache size string 2017-01-23 10:41:49 -06:00
Michael Larabel
afa41dcb8b phodevi: Add 'cpu' 'cache-size' support on macOS 2017-01-23 10:39:18 -06:00
Michael Larabel
200f25160d Phoronix Test Suite 7.0 Milestone 2 2017-01-23 05:27:04 -06:00
Michael Larabel
a21ae0bbc1 phodevi: Add microcode version reporting on Linux 2017-01-22 20:11:06 -06:00
Michael Larabel
ffdd31d273 pts-core: Slight optimization as that string at that point for now is always null 2017-01-22 20:10:48 -06:00
Michael Larabel
460fda86bf pts-core: Small cleanups 2017-01-22 19:48:12 -06:00
Michael Larabel
7607477254 pts-core: Condense list-test-usage lines 2017-01-22 18:57:58 -06:00
Michael Larabel
1bf2f3239a pts-core: Cleanup phoronix-test-suite list-test-usage 2017-01-22 18:54:04 -06:00
Michael Larabel
c569da824c pts-core: Copy paste fail previous commit 2017-01-22 18:44:30 -06:00
Michael Larabel
f3891dc41d pts-core: Cleanup XML usage in pts_installed_test 2017-01-22 18:40:20 -06:00
Michael Larabel
c5908f1979 pts-core: Cleanup XML usage in pts_exdep_generic_parser 2017-01-22 18:32:14 -06:00
Michael Larabel
7b734c9cd9 pts-core: Cleanup XML handling in pts_exdep_platform_parser 2017-01-22 18:23:33 -06:00
Michael Larabel
e1d75936de pts-core: Drop nye_XmlReader abstraction in pts_test_result_parser 2017-01-22 17:50:39 -06:00
Michael Larabel
7d0b809ea9 pts-core: Eliminate pts_parse_results_nye_XmlReader abstraction 2017-01-22 16:42:20 -06:00
Michael Larabel
a71bd2cbf8 pts-core: Eliminate pts_test_downloads_nye_XmlReader 2017-01-22 16:35:15 -06:00
Michael Larabel
8941860e9b phodevi: typo from previous commit 2017-01-17 15:52:54 -06:00
Michael Larabel
a000c0ef20 phodevi: No reason to show thread count if same as core count 2017-01-17 15:52:12 -06:00
Michael Larabel
e4b47aa5a4 pts-core: Drop detailed-system-info sub-command now that system-info is more verbose 2017-01-16 15:26:48 -06:00
Michael Larabel
3b95afe1f0 phodevi: Don't rely upon X.Org DDX driver logic for determining GPU frequency since it's not portable to Wayland or with -modesetting DDX 2017-01-16 15:25:58 -06:00
Michael Larabel
d279629ee4 phodevi: Fix for hanging Windows client when requesting disk mount options 2017-01-16 12:36:57 -06:00
Michael Larabel
a28727598e Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2017-01-16 08:49:49 -06:00
Michael Larabel
5f23296e9b pts-core: More system info string improvements 2017-01-16 08:49:29 -06:00
Michael Larabel
09e721cfda pts-core: Add coloring to system_centralized_view section headers 2017-01-16 07:21:48 -06:00
Michael Larabel
a87b8fbad7 Merge pull request #153 from nevion/master
add lapacke and opencl-headers
2017-01-16 06:00:05 -05:00
Jason Newton
2ccaf6eab9 add opencl-headers to opensuse 2017-01-16 03:51:10 -05:00
Jason Newton
5d26bc75ab add lapacke to lapack-development 2017-01-16 03:50:56 -05:00
Michael Larabel
38b813186e pts-core: Few more tweaks for earlier commit 2017-01-15 22:02:50 -06:00
Michael Larabel
f66269971b pts-core: More system_centralized_view improvements 2017-01-15 21:53:02 -06:00
Michael Larabel
b10d6d62bb pts-core: Introduce new view of system software/hardware details on test run and system-info command 2017-01-15 21:34:56 -06:00
Michael Larabel
d2f7ef4d59 pts-core: Indicate HIB/LIB result proportion when dumping results as CSV 2017-01-14 12:04:31 -06:00
Michael Larabel
eaac34ce9b pts-core: OB trivial updates 2017-01-14 12:02:12 -06:00
Michael Larabel
4f3c6d1046 TODO: some test profile updates 2017-01-13 17:28:08 -06:00
Michael Larabel
ee17c558b5 build-package-deb: php5-cli is only dependency needed, php-cli php-xml separation was for PHP7 2017-01-13 13:31:06 -06:00
Michael Larabel
1adc5604d7 pts-core: Check for headers if needed in /usr/include/x86_64-linux-gnu/ during external dependency resolution 2017-01-13 07:23:49 -06:00
Michael Larabel
c5d6fbe9b7 Phoronix Test Suite 7.0 M1 2017-01-12 05:29:52 -06:00
Michael Larabel
c6170880ed pts-core: Add estimate-run-time sub-command for estimating test/suite/result-file run length 2017-01-11 15:48:54 -06:00
Michael Larabel
bba7a462b7 ChangeLog: Add from previous commit 2017-01-07 20:46:55 -06:00
Michael Larabel
a023c9ffb8 phoromatic: Report status updates more often 2017-01-07 20:46:27 -06:00
Michael Larabel
98f536a827 pts_Graph: More color branding changes 2017-01-07 19:12:59 -06:00
Michael Larabel
aec95545da pts_Graph: Add "Pentium" product string to Intel's coloring 2017-01-06 10:05:44 -06:00
Michael Larabel
e10563d25c pts-core: Add apt-file to the Ubuntu external dependencies as it is needed for the reverse dependency handling 2017-01-05 12:55:44 -06:00
Michael Larabel
360b2ea52c 2017 copyright updates for main files 2017-01-04 20:54:31 -06:00
Michael Larabel
d7000da52b pts-core: Cleanup PTS_USER_LOCK / run-lock handling 2017-01-04 19:16:10 -06:00
Michael Larabel
52f97d07fe Bump for Phoronix Test Suite 7.0-Ringsaker early development 2017-01-04 18:44:05 -06:00
Michael Larabel
a469cd9b24 phoromatic: Set by default for SQLite database WAL journal mode / NORMAL synchronous 2017-01-04 18:23:18 -06:00
Michael Larabel
d3c26130d8 phoronix-test-suite: Recommend php7 packages for zypper over php5 2016-12-29 15:57:19 -06:00
Michael Larabel
b6958aea66 pts-core: More external dependency coverage for BSDs 2016-12-21 10:02:51 -06:00
Michael Larabel
cd9f20a553 pts_Graph: Add "Ryzen" product string to AMD's coloring 2016-12-13 15:56:13 -06:00
Michael Larabel
327315004f Phoronix Test Suite 6.8.0-Tana 2016-12-05 18:41:32 -06:00
Michael Larabel
b1cabd5cce Add Phoronix Test Suite 7.x codenames, towns within Hedmark Norway 2016-12-04 20:54:26 -06:00
Michael Larabel
9cf7ecd68c FPDF: update 2016-12-01 17:32:20 -06:00
Michael Larabel
2fd7fd58ca phodevi: Rearrange ATI/AMD graphics checks 2016-11-30 17:15:03 -06:00
Michael Larabel
1939c50960 pts-core: More tweaks 2016-11-29 13:29:49 -06:00
Michael Larabel
2d6953fe67 pts-core: Fix for previous commit 2016-11-29 13:27:42 -06:00
Michael Larabel
7592fd09b1 phoromatic: allow clearing warnings/errors of a system from the systems page 2016-11-29 13:25:35 -06:00
Michael Larabel
c271719825 Phoronix Test Suite 6.8 Milestone 3 2016-11-27 20:48:43 -06:00
Michael Larabel
de63dcd52e devi: vRAM detection change to help AMDGPU-PRO 2016-11-27 18:42:10 -06:00
Michael Larabel
fbb21fcba7 phodevi: Some cleanup 2016-11-22 12:41:28 -06:00
Fatima Sheremetyeva
358e0e019e phodevi: GPU model improvements 2016-11-22 13:37:56 -05:00
Michael Larabel
6e15b68e82 phodevi: Round memory when needed to nearest 128MB 2016-11-22 12:25:57 -06:00
Michael Larabel
6347c3f982 log_exporter: fix for older versions of PHP 2016-11-22 05:09:34 -06:00
Michael Larabel
d152ee6166 phodevi: Memory string fix to help Kingston DIMMs that otherwise get ruled out 2016-11-21 20:51:26 -06:00
Michael Larabel
f28d8eff3d Phodevi: strip Mesa DRI when querying GLX renderer 2016-11-21 20:40:07 -06:00
Michael Larabel
4049811246 phodevi: Improved video RAM detection via GLX_MESA_query_renderer 2016-11-21 20:36:32 -06:00
Michael Larabel
7b2446ee52 pts-core: Ubuntu external dependency script fix 2016-11-21 18:00:08 -06:00
Michael Larabel
e30f391520 Phoronix Test Suite 6.8 Milestone 2 2016-11-15 08:31:35 -06:00
Michael Larabel
32073ad075 log_exporter: Allow easily exporting test run and system logs via COPY_TEST_RUN_LOGS_TO and COPY_SYSTEM_LOGS_TO env vars 2016-11-15 08:29:32 -06:00
Michael Larabel
5b1da20a39 pts-core: Add new module hooks for __test_log_output() and __post_test_run_system_logs() 2016-11-15 08:09:26 -06:00
Michael Larabel
01b3030ef8 phodevi: Don't load Phodevi sensors prior to PHP 5.3 due to compatibility issues 2016-11-10 11:06:50 -06:00
Michael Larabel
d35d61ed7a pts_Graph: Add Intel color highlighting for "Celeron" too 2016-11-09 07:15:27 -06:00
Michael Larabel
86ccf1f872 pts-core: Add PHP GD check as first thing when attempting to use result-file-to-pdf 2016-11-08 09:46:54 -06:00
Michael Larabel
7277d957d2 pts-core: Add new remove_inactive_systems option on systems page 2016-11-03 17:03:43 -05:00
Michael Larabel
3742302f6a Merge pull request #137 from sunnyflunk/master
pts-core: Update latest Solus dependency libs
2016-11-03 06:00:30 -04:00
Michael Larabel
04e0bb96ed results_custom_export: Example module for dumping PTS test results in custom formats 2016-10-31 11:27:00 -05:00
Michael Larabel
6f9e7feb1f pts_Graph: Just add a TODO comment 2016-10-31 11:26:28 -05:00
Michael Larabel
60ce0b5727 flamegrapher: Experimental new module to generate Linux perf / FlameGraph graphs for each test being executed when active 2016-10-31 11:05:13 -04:00
Michael Larabel
c6da014d03 Prep changes for next commit 2016-10-31 11:03:28 -04:00
Michael Larabel
dcd5b41ae7 pts-core: Fix malforming graphs when feeding many line graph results that are in a tracking-like manner that should be compacted to box plot 2016-10-27 07:59:45 -05:00
Michael Larabel
bdc952bd0c Phoronix Test Suite 6.8.0 Milestone 1 (Tana) 2016-10-27 07:15:40 -05:00
Michael Larabel
f823d6475f pts-Graph: Warning fix 2016-10-24 16:27:35 -05:00
Peter O'Connor
3c5e61286b pts-core: Update latest Solus dependency libs 2016-10-24 14:31:09 +11:00
Michael Larabel
63bc93c74c pts-core: Proper handling for when PHP ctype functions are not present 2016-10-17 09:29:59 -05:00
Michael Larabel
f3575e663a pts-core: Strip http/https from proxy address if needed 2016-10-17 07:12:28 -05:00
Michael Larabel
fefc17b87c phodevi: Also look for Vulkan ICDs at /usr/share/vulkan/icd.d/*.json 2016-10-06 15:14:30 -05:00
Michael Larabel
a26f2f5223 pts-core: Add PHOROMATIC_HTTP_PORT environment variable for overriding Phoromatic Server HTTP port on starting it 2016-10-06 06:21:18 -05:00
Michael Larabel
81dc40f174 Merge pull request #130 from sunnyflunk/Solus
pts-core: Update Solus external dependency handling
2016-09-30 06:01:23 -04:00
Peter O'Connor
283ea3f704 pts-core: Update Solus external dependency handling 2016-09-30 16:34:38 +10:00
Michael Larabel
97619f5014 pts-core: Don't preserve really large system logs (~1MB or greater) 2016-09-29 16:45:02 -05:00
Michael Larabel
bf934fb90b Phoronix Test Suite 6.6.1 2016-09-29 12:23:56 -05:00
Michael Larabel
f497023529 pts-core: Change file check for python-sklearn 2016-09-28 15:23:44 -05:00
Michael Larabel
6ee8cb107d pts-core: Add python-scipy and python-sklearn external dependencies 2016-09-28 08:37:37 -05:00
Michael Larabel
7330df29ae phoromatic: Fix "Password" text in the login page 2016-09-27 12:29:05 -05:00
Michael Larabel
a314034df7 pts-core: Add a note about the Linux RAM speed change 2016-09-26 19:38:25 -05:00
Michael Larabel
e78beb7e8a phodevi: Support for reporting memory frequency when overclocked if reported via "Configured Clock Speed" in dmidecode for RAM 2016-09-26 19:29:01 -05:00
Michael Larabel
4628e1cbb3 pts-core: Add list-not-installed-tests command (alias: list-uninstalled-tests) 2016-09-26 16:41:56 -05:00
Michael Larabel
0b8fdfc13f pts-core: Add list-uninstalled-tests command 2016-09-26 16:32:58 -05:00
Michael Larabel
dd0b6056a6 pts-core: Drop LIMIT_STRESS debug message 2016-09-22 14:21:38 -05:00
Michael Larabel
b9d5108479 pts-core: Don't pass test by reference 2016-09-22 14:05:54 -05:00
Michael Larabel
566ae6d648 pts-core: Introduce skip_test_check in pts_stress_run_manager 2016-09-22 10:22:39 -05:00
Michael Larabel
fdd0f5c6d1 pts-core: Add debug message on stress-run skipping over env var 2016-09-20 09:35:17 -05:00
Michael Larabel
f4435c54f6 pts-core: Add LIMIT_STRESS_*_TEST_COUNTS env var option 2016-09-09 11:44:56 -05:00
Michael Larabel
5c765b0b86 Documentation rebuild for previous commit 2016-09-08 13:46:19 -05:00
Michael Larabel
01efc7eeb7 pts-core: Add "phoronix-test-suite php-conf" sub-command to dump more useful PHP information for debugging 2016-09-08 13:44:19 -05:00
Michael Larabel
8b01a910f6 phoronix-test-suite: Move PHP7 binary detection to higher priority than PHP5 2016-09-07 10:56:13 -05:00
Michael Larabel
22a966553b pts-core: Detection for qupzilla browser when no alternative exists 2016-09-07 10:11:03 -05:00
Michael Larabel
8bc6d4ab3c pts-core: Cleanups for dragonflybsd external dependency handling 2016-09-06 17:20:17 -05:00
Michael Larabel
e28ab9feaf pts-core: Silly typo for previous commit 2016-09-06 17:16:31 -05:00
Michael Larabel
916bf5ef25 pts-core: Add check for ctype_alnum safeguard 2016-09-06 17:15:52 -05:00
Michael Larabel
9dea655699 phoronix-test-suite: Update pkg helper references to php70 rather than php5 2016-09-06 16:56:31 -05:00
Michael Larabel
160210de1f Phoronix Test Suite 6.6.0-Loppa 2016-09-06 10:01:12 -05:00
Michael Larabel
85b8fa1561 pts_Graph: On multi-way comparisons, always condense line graphs to modified box plots 2016-08-30 10:22:04 -05:00
Michael Larabel
390552847f Phoronix Test Suite 6.6.0 M3 2016-08-26 11:09:05 -05:00
Michael Larabel
041a10ab71 pts-core: Add a SVG DOM HTML back-end for lowering common SVG into pure HTML for cases like email clients where no SVG is supported 2016-08-24 19:07:21 -05:00
Michael Larabel
a6f0208080 pts-core: After running tests, if no browser/display is available, offer to show results via CLI graph/text rendering 2016-08-22 19:04:50 -05:00
Michael Larabel
afc3319808 pts-core: Another mail PDF sending tweak 2016-08-18 20:11:52 -05:00
Michael Larabel
04e34a9785 pts-core: Fix for previous commit 2016-08-18 19:49:18 -05:00
Michael Larabel
669d64fccd pts-core: Add PDF attachment to html_results_export email 2016-08-18 14:37:21 -05:00
Michael Larabel
d34da778eb system_monitor: Improve formatting when no sensors end up being used 2016-08-15 21:06:56 -05:00
Michael Larabel
2e7f7004bc pts-core: Make some objects easier to follow during the test execution result phase 2016-08-15 19:38:59 -05:00
Michael Larabel
924b3f1ebf pts-core: Don't actually need to return the active result buffer from pts_test_execution::run_test(), the output isn't really used 2016-08-15 19:33:57 -05:00
Michael Larabel
6bee435df4 pts-core: Add OpenMandriva/urpmi PHP dependency helper to launcher 2016-08-15 17:31:18 -05:00
Michael Larabel
914a1632dd html_results_export: New module exposed via EXPORT_RESULTS_HTML_EMAIL_TO and EXPORT_RESULTS_HTML_FILE_TO env vars for exporting HTML results 2016-08-15 16:39:16 -05:00
Michael Larabel
3a68779c1b pts-core: Update ubuntu-packages.xml 2016-08-15 16:39:04 -05:00
Michael Larabel
6e1a5fe51f pts-core: Add additional font paths in pts_svg_dom_gd 2016-08-09 12:26:13 -05:00
Michael Larabel
a63d7ccbe4 pts_Graph: When highlighting graph values, darken the color rather than use static color 2016-08-09 11:04:33 -05:00
Michael Larabel
2c05f1a225 phoromatic: Adjust function 2016-08-08 07:06:39 -05:00
Michael Larabel
f1866f7675 pts-core: color detection improvement 2016-08-07 10:00:50 -05:00
Michael Larabel
47bab9f402 Phoronix Test Suite 6.6 Milestone 2 2016-08-07 07:30:36 -05:00
Michael Larabel
131812eb54 pts-core: Another color tweak 2016-08-06 18:46:42 -05:00
Michael Larabel
d22ab87bd3 pts-core: More colored CLI text work 2016-08-06 18:38:48 -05:00
Michael Larabel
5172376256 pts-core: Initial work on CLI terminal colored text output 2016-08-06 18:34:09 -05:00
Michael Larabel
4a48da0cf4 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2016-08-06 16:54:17 -05:00
Michael Larabel
372e3102bd pts-core: Fix notice in graphics_event_checker on FreeBSD 2016-08-06 16:54:03 -05:00
Fatima Sheremetyeva
b6a42d4fae Merge pull request #123 from fatima-sheremetyeva/master
phoromatic: Additional UI tweaks
2016-08-06 14:39:05 -05:00
Fatima Sheremetyeva
c42e629d12 phoromatic: Additional UI tweaks 2016-08-06 14:37:22 -05:00
Michael Larabel
eb241892bb pts-core: Restructure bash on windows check 2016-08-06 13:02:29 -05:00
Michael Larabel
ea65b2f735 pts-core: Ensure DragonFlyBSD pkg installation is done automatically 2016-08-06 12:16:28 -05:00
Michael Larabel
84de65a0b2 Merge pull request #122 from fatima-sheremetyeva/master
phoromatic: More UI work
2016-08-06 12:23:18 -04:00
Michael Larabel
a9e05b8296 phodevi: Show mdstat RAID Details when available 2016-08-06 09:07:09 -05:00
Michael Larabel
db31e1536d pts_Graph: Show extra disk details on system graph 2016-08-06 08:55:51 -05:00
Michael Larabel
1536c6160d pts-core: Show local suites in list-suites 2016-08-03 19:10:14 -05:00
Michael Larabel
f1a480380a pts-core: Introduce pts_tests::local_tests() 2016-08-03 19:06:23 -05:00
Michael Larabel
edbde811fc pts-core: Fix for upload-test-suite (on OpenBenchmarking.org side too) 2016-08-01 15:31:51 -05:00
Michael Larabel
e38d5bedc2 Merge pull request #121 from iuno/master
pts-core: prevent reinstall of present packages
2016-07-24 07:58:34 -04:00
iuno
5ee3eb0a29 pts-core: prevent reinstall of present packages 2016-07-24 13:50:11 +02:00
Michael Larabel
12f25faebe pts-core: Tweak to CSV 2016-07-18 19:42:05 -05:00
Michael Larabel
506d650e9e pts-core: Use identifier rather than test title on CSV output 2016-07-18 12:12:27 -05:00
Michael Larabel
0229f0a924 pts-core: Better parsing of time 2016-07-11 07:43:02 -05:00
Fatima Sheremetyeva
88c627b624 phoromatic: More UI work 2016-07-08 10:47:02 -05:00
Michael Larabel
f6d4ddd838 deploy: Update Debian packaging script 2016-07-06 20:20:22 -05:00
Michael Larabel
7bb2550573 Phoronix Test Suite 6.6 Loppa Milestone 1 2016-07-06 08:05:21 -05:00
Michael Larabel
bbb5009e80 pts-core: Disable stress-run messages about testing indefinitely 2016-07-01 15:42:29 -05:00
Michael Larabel
1ca04b1f70 pts-core: Disable test cache share when run in stress-run mode 2016-07-01 15:36:00 -05:00
Michael Larabel
dff1263dab Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2016-06-27 10:21:08 -05:00
Michael Larabel
f50fd289ed pts-core: Fix 2016-06-27 10:20:52 -05:00
Michael Larabel
2cc521ee61 pts_Graph: Color string tweaks 2016-06-26 08:01:43 -05:00
Michael Larabel
7c87cbcf35 phodevi: Fix to allow GPU temperature sensor to work with AMDGPU-PRO driver stack 2016-06-25 12:17:29 -05:00
Michael Larabel
a5e4944c0f pts-core: add sys/xattr.h check to attr generic package check 2016-06-22 13:59:46 -05:00
Fatima Sheremetyeva
59b63bc26d pts-core: Add Solus external dependency handling 2016-06-22 13:51:20 -05:00
Michael Larabel
c364e89793 pts-core: Add OpenCV to external dependencies list 2016-06-20 09:23:52 -05:00
Michael Larabel
3a88d83254 phoromatic: Allow custom versions to be manually specified on test suite web UI page 2016-06-19 16:40:17 -05:00
Michael Larabel
0015567d24 pts_Graph: Show min/max results on multi-way comparisons 2016-06-18 07:27:00 -05:00
Michael Larabel
30d79511bf pts-core: Ensure "none" isn't part of a word when stripping it from Phodevi interfaces 2016-06-03 11:20:31 -05:00
Michael Larabel
e6a12eceb4 pts-core: Fix previous commit 2016-06-03 09:33:24 -05:00
Michael Larabel
b05ca034c9 pts-core: Update possible merge combinations 2016-06-03 09:32:53 -05:00
Michael Larabel
b9da25a040 Phoronix Test Suite 6.4.0 2016-06-02 06:23:35 -05:00
Michael Larabel
f23f336477 pts-core: Update the update checker 2016-06-01 18:41:27 -05:00
Michael Larabel
41168d7dd5 system_monitor: Protect against potential problem if a test is locked 2016-06-01 18:00:18 -05:00
Michael Larabel
493ebd2b41 phoromatic: Sort tests on local suite page by title ASC 2016-06-01 15:56:42 -05:00
Michael Larabel
a351cdd3ba pts-core: Check to ensure this define call doesn't get hit multiple times to avoid a NOTICE 2016-06-01 07:59:09 -05:00
Michael Larabel
e1e10bbd75 deploy: Remove 'php5' references from the Debian package build script 2016-05-31 18:00:17 -05:00
Michael Larabel
88a7740dfb Phoronix Test Suite 6.4 Milestone 4 2016-05-31 13:01:51 -05:00
Michael Larabel
b318833d1d phoromatic: Support editing and deleting tests in local suites from the Phoromatic Server UI 2016-05-31 12:41:49 -05:00
Michael Larabel
296485afac pts-core: Remove pts_test_suite_writer now that it's no longer used due to new pts_test_suite API replacing it 2016-05-31 11:49:49 -05:00
Michael Larabel
d280772507 pts-core: Finish porting from pts_test_suite_writer to pts_test_suite API new 2016-05-31 11:48:57 -05:00
Michael Larabel
29fcf362a1 pts-core: Port result-file-to-suite to new pts_test_suite API 2016-05-31 11:36:56 -05:00
Michael Larabel
28710178d5 pts-core: Finish new pts_test_suite API, port build-suite to it 2016-05-31 11:18:21 -05:00
Michael Larabel
b20f9c7e29 pts-core: Fix for IE not scaling SVGs in the results viewer 2016-05-31 09:22:43 -05:00
Michael Larabel
dfe945e04c pts-core: Change the color ordering on pts_Graph_passfail 2016-05-31 08:47:24 -05:00
Michael Larabel
ed1455e68f pts-core: Fix get_estimated_run_time() from previous commit 2016-05-30 17:37:08 -05:00
Michael Larabel
2ecb8426c8 pts-core: Prevent duplicate tests/setting combinations from entering the same test run manager queue 2016-05-29 12:47:33 -05:00
Michael Larabel
a92ac2c2c6 pts-core: Update for perl-digest-md5 2016-05-28 18:02:04 -05:00
Michael Larabel
165e824630 pts-core: Fixes for Ubuntu's MD5 PERL digest dependenct 2016-05-28 17:46:34 -05:00
Michael Larabel
24128fc243 pts-core: Add perl-digest-md5 to external dependencies list 2016-05-28 17:39:49 -05:00
Michael Larabel
e2942f164c pts-core: Don't load empty tests on finish-run command 2016-05-28 17:27:07 -05:00
Michael Larabel
d8189a32ec phodevi: More detection improvements for NVMe devices on Linux 2016-05-28 16:48:31 -05:00
Michael Larabel
744d380253 pts-core: Get rid of debug print from previous message 2016-05-26 18:51:36 -05:00
Michael Larabel
ad9aace274 pts-core: Automatically add used extra OpenBenchmarking.org repositories to the linked list 2016-05-26 18:51:09 -05:00
Michael Larabel
42cac172f3 Phoronix Test Suite 6.4 Milestone 3 2016-05-26 08:21:07 -05:00
Michael Larabel
89d094f990 pts-core: Add note 2016-05-26 08:19:50 -05:00
Michael Larabel
f2b8d5406e pts-core: API Additions for pts_test_suite 2016-05-20 11:17:05 -05:00
Michael Larabel
4e3de6da21 pts-core: Some sleeps in pts_test_execution to try to settle down a bit between tests 2016-05-19 16:59:08 -05:00
Michael Larabel
8242022047 Bump core version to rebuild cache to find new module 2016-05-19 16:31:00 -05:00
Michael Larabel
d582c84f5a watchdog: New PTS module 2016-05-19 16:30:01 -05:00
Michael Larabel
73abf2bda8 pts-core: Fix for test suite when collapsing pts_test_suite_parser into pts_test_suite 2016-05-19 11:56:44 -05:00
Michael Larabel
d58fe95958 pts-core: Skip most of pts_test_suite initialization when identifier is null 2016-05-19 11:54:54 -05:00
Michael Larabel
8257565f1e pts-core: Step 2 of pts_test_suite rewrite 2016-05-19 11:36:18 -05:00
Michael Larabel
8bc425049e pts_Graph: Take care of possible divide by zero in pts_graph_lines 2016-05-19 11:00:35 -05:00
Michael Larabel
502ef8ee6d pts-core: Should be safe wiping this 2016-05-19 10:49:39 -05:00
Michael Larabel
934a1334d4 pts-core: Step 1 of the pts_test_suite rewrite 2016-05-19 10:49:05 -05:00
Michael Larabel
999fc361d1 pts-core: Test patch for adding fallback to result parser on funky data (spacing issue) workaround reported by Vlado Djerk 2016-05-19 09:13:37 -05:00
Michael Larabel
1aa0cd3020 phoromatic: Fix for testing ticket listing 2016-05-18 17:17:19 -05:00
Michael Larabel
ab9a509ded phoromatic: Add tickets to Testing page 2016-05-18 17:15:42 -05:00
Michael Larabel
1569432b97 phoromatic: Add generalized "Testing" page to Phoromatic Server 2016-05-18 16:43:06 -05:00
Michael Larabel
44c73e0bb0 pts-core: Changelog update 2016-05-18 11:46:04 -05:00
Michael Larabel
d719cb2a40 pts-core: On stress-run don't show empty brackets 2016-05-18 11:45:24 -05:00
Michael Larabel
650056633f pts-core: Actively work to make sure no zombies get queued up in stress-run manager 2016-05-18 11:42:08 -05:00
Michael Larabel
326cfa2025 pts-core: Only disable XML formatting when on Openbenchmarking.org or forced to 2016-05-18 11:05:48 -05:00
Michael Larabel
42498edb51 phodevi: Support for reading AMDGPU OverDrive overclock offset 2016-05-15 11:18:56 -05:00
Michael Larabel
6ee7341e31 pts-core: Exit 0 with stress-run 2016-05-15 11:18:37 -05:00
Michael Larabel
92343153de phoronix-test-suite: Update some helper scripts around PHP7 2016-05-09 09:15:41 -05:00
Michael Larabel
09dda94575 Phoronix Test Sutie 6.4 Milestone 2 2016-05-06 07:25:53 -05:00
Michael Larabel
6c594d4266 phodevi: Add ambient.temp sensor for reporting ambient temperature, currently supports temperv14 USB sensors 2016-05-05 09:04:02 -05:00
Michael Larabel
64dbfad097 phodevi: Add ambient.temp sensor for reporting ambient temperature, currently supports temperv14 USB sensors 2016-05-05 09:03:31 -05:00
Michael Larabel
092d4eacad pts-core: Bump PTS_CORE_VERSIOn to 6311 2016-05-05 07:06:08 -05:00
Michael Larabel
2f51c1cea7 pts-core: Don't show starting/ending test messages in log when in stress-run mode, but still show for CLI 2016-05-05 07:05:20 -05:00
Michael Larabel
f4627c0119 pts-core: Allow up to 8GB as memory_limit during stress-run testing 2016-05-05 06:54:55 -05:00
Michael Larabel
a5bce454bc phoromatic: Don't show title and description on result page when merging multiple results 2016-05-03 11:52:07 -05:00
Michael Larabel
2ac16b4feb phoromatic: Make logic on previous commit more clear 2016-05-03 11:02:31 -05:00
Michael Larabel
0462cbbcc8 phoromatic: Don't unconditionally set title to "Phoromatic Results" on page 2016-05-03 10:59:57 -05:00
Michael Larabel
d3a4bc7c5d pts-core: Ensure title gets set on merge if empty on original result file 2016-05-03 10:54:50 -05:00
Michael Larabel
87b6be4094 pts-core: Set description on result merge if original pts_result_file description is null 2016-05-03 10:46:05 -05:00
Michael Larabel
964155f6f6 phoromatic: Ensure description is set on the Phoromatic Server result page 2016-05-03 10:21:12 -05:00
Michael Larabel
389be3a5af pts-core: More tweaking of the points_of_possible_interest() algo 2016-05-01 07:41:33 -05:00
Michael Larabel
3a513f7741 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2016-05-01 07:41:24 -05:00
Michael Larabel
4762cba5b8 pts-core: Statically set dynamic_run_count_on_length_or_less to 60 2016-05-01 07:40:26 -05:00
Michael Larabel
58f06fec29 phoromatic: Add PTS_NO_REBOOT_ON_NETWORK_FAILURE environment variable for clients where if network failure occurs, Phoromatic clients will not reboot 2016-04-30 19:13:13 -05:00
Fatima Sheremetyeva
d8ec55f206 phoromatic: Make CSS mobile improvements to exported results viewer 2016-04-28 15:44:47 -05:00
Michael Larabel
1c21aecdcb phoromatic: Ensure when removing results and suites everything is properly deleted 2016-04-28 15:32:16 -05:00
Michael Larabel
4db83fd42b pts-core: Print more helpful environment variable messages when using stress-run 2016-04-28 15:17:49 -05:00
Michael Larabel
a177e0865c phoromatic: Cleanup for suite deletions 2016-04-28 14:49:52 -05:00
Michael Larabel
c20fd451a8 Typo of previous commit 2016-04-28 14:48:06 -05:00
Michael Larabel
15949b11d8 phoromatic: Add basic support for deleting "local suites" from Phoromatic web UI 2016-04-28 14:47:22 -05:00
Michael Larabel
3048d6753a phoromatic: Do hard deletes when deleting results from admin area or results page 2016-04-28 14:43:36 -05:00
Michael Larabel
7fc086e792 pts-core: Add "redis-server" as a potential external dependency for providing Redis 2016-04-28 11:12:59 -05:00
Michael Larabel
3046b4d707 pts-core: Fix https://github.com/phoronix-test-suite/phoronix-test-suite/issues/117 2016-04-28 10:59:51 -05:00
Michael Larabel
4d388174a5 phoromatic: Report build/runtime errors to users when notifying of email regressions 2016-04-28 10:05:33 -05:00
Michael Larabel
bda8ebc88d phoromatic: Only export a month's worth of errors 2016-04-28 09:09:52 -05:00
Michael Larabel
ae90e14b49 phoromatic: Increase memory limit when generating result export dump 2016-04-28 09:06:41 -05:00
Michael Larabel
55f5eefb3f phoromatic: Tweak 2016-04-28 09:03:48 -05:00
Michael Larabel
3ddc3f1f53 phoromatic: Allow exporting system test run/build errors to the exported public results viewer 2016-04-28 08:58:54 -05:00
Michael Larabel
080a3574e9 pts-core: Adaptively increase regression threshold level in points_of_possible_interest() when too many results are being flagged 2016-04-28 08:28:16 -05:00
Michael Larabel
50fd4f6c3b pts_Graph: Clean up system table for Phoromatic / multi-way system comparisons 2016-04-28 08:05:16 -05:00
Michael Larabel
676373d32a phoromatic: Add arguments description on regression notification emails 2016-04-28 07:49:10 -05:00
Michael Larabel
e68f0c1ad0 phoromatic: In the export result viewer allow passing regression_threshold environment variable to override threshold value 2016-04-28 07:47:06 -05:00
Michael Larabel
d4bbd9569f phoromatic: Fix selecting the same test itself on the "build suite" page 2016-04-26 11:49:17 -05:00
Michael Larabel
db6856ef47 pts-core: Remove infinite string in summary report of stress-run 2016-04-26 11:43:51 -05:00
Michael Larabel
7fa2427eb7 pts-core: Don't show lines of empty args in stress-run 2016-04-26 11:35:47 -05:00
Michael Larabel
2d889bca8b pts-core: Fix typo from previous commit of getting arguments description 2016-04-26 11:29:37 -05:00
Michael Larabel
6f8d84dbc3 pts-core: Fix warning on stress_print_and_log() when not in Phoromatic mode 2016-04-26 11:28:44 -05:00
Michael Larabel
045be30ab5 pts-core: Fix TOTAL_LOOP_TIME set string being divided incorrectly 2016-04-26 11:27:30 -05:00
Michael Larabel
153f7fed30 pts-core: Reformat stress-run log messages 2016-04-26 11:24:28 -05:00
Michael Larabel
5d71f521a1 pts-core: Allow XML formatting from the Phoromatic Server web interface 2016-04-25 14:09:16 -05:00
Michael Larabel
2a74fb3cdc Phoronix Test Suite 6.4 Milestone 1 2016-04-25 06:45:25 -05:00
Michael Larabel
18498c11ea phoromatic: Don't reset fields when building suite and adding additional tests 2016-04-19 10:38:25 -05:00
Michael Larabel
ca12daceac pts-core: Drop USE_HOME_DIR 2016-04-19 10:32:49 -05:00
Michael Larabel
a2e8b3ffb4 pts-core: Fix for previous commit 2016-04-19 10:32:03 -05:00
Michael Larabel
6a4489701c phoromatic: Reduce width on local suite showing 2016-04-19 10:29:41 -05:00
Michael Larabel
c26817bfbd phoromatic: Font weight 800 2016-04-18 19:49:03 -05:00
Michael Larabel
402bd85cc9 phoromatic: Polish up group listing 2016-04-18 19:48:18 -05:00
Michael Larabel
c4da765b71 phoromatic: Fix account ID handling in previous commit 2016-04-18 19:47:27 -05:00
Michael Larabel
0c0d9ad583 phoromatic: Show systems in groups on benchmark ticketing page 2016-04-18 19:46:06 -05:00
Michael Larabel
29afd4c7fb phoromatic: Only run tests once each time called upon in stress-run mode 2016-04-18 19:31:28 -05:00
Michael Larabel
415e2e4038 Merge pull request #116 from gogoxiaoxiao/phoromatic
phoromatic: Fix post run context script
2016-04-18 07:07:49 -04:00
Haishuang Yan
f466eb0775 phoromatic: Fix post run context script 2016-04-18 15:43:25 +08:00
Michael Larabel
9afcd28ee6 phoromatic: Clear benchmark ticket ID after stress run 2016-04-15 15:14:19 -05:00
Michael Larabel
f81c3fcc57 phoromatic: Link directly to logs from links just added for benchmark tickets 2016-04-15 14:48:22 -05:00
Michael Larabel
157fc269a3 phoromatic: Update few strings 2016-04-15 14:44:39 -05:00
Michael Larabel
4f5390a40d phoromatic: Add links to schedules/tickets from dashboard and system pages for active schedule/ticket on that system at the moment 2016-04-15 14:32:59 -05:00
Michael Larabel
7899b11cb1 pts-core: Supply benchmark ticket IDs (when available) in the phoromatic update_system_status communications 2016-04-15 14:17:45 -05:00
Michael Larabel
669990ddd1 phoromatic: Say "Stress Testing - XXX" as Phoromatic status messages when in stress-run mode 2016-04-15 14:06:46 -05:00
Michael Larabel
e4f0c5f788 pts-core: Append date to phoronix-test-suite-stress-XXX.log when running stress-run 2016-04-15 13:59:30 -05:00
Michael Larabel
6820316a92 phoromatic: A few more tweaks to the export viewer 2016-04-14 19:37:44 -05:00
Michael Larabel
20f6e77a72 phoromatic: Add first result time to export viewer 2016-04-14 19:34:36 -05:00
Michael Larabel
2cee8b9ed7 phoromatic: Add basic email notification support to the Phoromatic export results viewer 2016-04-13 18:24:05 -05:00
Michael Larabel
ba4f9cc7be phoromatic
: Add last_result_time to JSON of export dumps of Phoromatic data
2016-04-13 10:50:06 -05:00
Michael Larabel
4d9515ea7c pts-core: Bump CORE version to 6301 2016-04-12 18:12:33 -05:00
Michael Larabel
9758c83067 pts-core: Additional fallback for locating if running PTS as a user from their home directory 2016-04-12 18:10:35 -05:00
Michael Larabel
31ec58a747 pts-core: Drop day of week from logger date prefix 2016-04-12 14:50:26 -05:00
Michael Larabel
2c4a2aa320 phoromatic: Allow "repeat ticket" to work for stress runs on benchmark tickets 2016-04-12 14:44:36 -05:00
Michael Larabel
e4c69e609b pts-core: Stress run log add a line break at first 2016-04-12 14:32:29 -05:00
Michael Larabel
e007f901f8 phoromatic: Provide some basic highlighting in stress-log fil 2016-04-12 14:31:59 -05:00
Michael Larabel
0943b37e69 pts-core: More phoromatic stress-run client side work 2016-04-12 14:21:49 -05:00
Michael Larabel
d65daf9f8f pts-core: Phoromatic stress-run fixes 2016-04-12 14:13:52 -05:00
Michael Larabel
fd7c47bb91 pts-core: Fix for previous commit 2016-04-12 14:08:23 -05:00
Michael Larabel
4470c5fec8 phoromatic: Initial client-side implementation of new stress-run support 2016-04-12 14:07:14 -05:00
Michael Larabel
081e03ddc0 phoromatic: Initial server-side implementation of new stress-run support via Phoromatic Server when going to "Run A Benchmark" and opting for stress mode 2016-04-12 13:18:51 -05:00
Michael Larabel
c4b5638538 pts-core: Add test start/end to phoronix-test-suite-stress.log 2016-04-12 11:26:38 -05:00
Michael Larabel
c2825d0346 pts-core: Add default logging support while running stress-run using phoronix-test-suite-stress.log filename 2016-04-12 11:17:42 -05:00
Michael Larabel
130da0b0b0 pts-core: Add hostname to summary reports on stress-run 2016-04-12 08:25:56 -05:00
Michael Larabel
7fcd9e553a pts-core: Fix for system-sensors not printing some supported sensors 2016-04-11 13:54:05 -05:00
Michael Larabel
8ecf60f515 pts-core: Switch to timezone abbreviation for previous commit 2016-04-11 08:51:53 -05:00
Michael Larabel
3b48647c21 pts-core: Add timezone on stress-run 2016-04-11 08:49:46 -05:00
Michael Larabel
09ed6afa51 pts-core: capitalize time 2016-04-11 08:49:25 -05:00
Michael Larabel
3ae1b271ed pts-core: Stress-run stuff 2016-04-11 08:40:49 -05:00
Michael Larabel
5fdaf18860 pts-core: Add system info to summary report on stress log 2016-04-11 08:36:17 -05:00
Michael Larabel
95982a1c3c Update documentation in respective sources based upon changes made in 65d9d3deb7 2016-04-11 06:38:00 -05:00
Michael Larabel
3602260228 pts-core: Update headers in stress-run 2016-04-10 11:22:06 -05:00
Michael Larabel
753edc4e1c pts-core: Few more tweaks to stress-run text 2016-04-10 11:11:03 -05:00
Michael Larabel
b6ba411800 pts-core: Work on timer 2016-04-10 10:42:59 -05:00
Michael Larabel
084914dfdf pts-core: enough work during stress-run is going on for master thread that there's no reason to sleep anymore 2016-04-10 10:34:01 -05:00
Michael Larabel
4972815427 pts-core: Don't print reports on child threads in stress-run 2016-04-10 10:32:40 -05:00
Michael Larabel
e6671137cd pts-core: Add basic signo handling work with stress-run 2016-04-10 10:29:28 -05:00
Michael Larabel
16164afac9 pts-core: More stress-run toying 2016-04-10 10:22:10 -05:00
Michael Larabel
918ac8834a pts-core: Clean up stress_run_manager code 2016-04-10 10:11:43 -05:00
Michael Larabel
03b83fb293 pts-core: Report number of tests executed and times occurred 2016-04-10 09:50:56 -05:00
Michael Larabel
2e943c8a1d pts-core: FIx 2016-04-10 09:40:39 -05:00
Michael Larabel
2ca8dcc896 pts-core: More stress-run fun 2016-04-10 09:39:56 -05:00
Michael Larabel
84f73d952b pts-core: Typo fix :) 2016-04-10 09:33:05 -05:00
Michael Larabel
111bab9c27 pts-core: Use pts_math::set_precision() rather than round(x, 2); 2016-04-10 09:32:32 -05:00
Michael Larabel
547738f354 pts-core: Adjust display_table_text extra width 2016-04-10 09:29:29 -05:00
Michael Larabel
f95218a616 pts-core: More text table work in stress-run 2016-04-10 09:23:38 -05:00
Michael Larabel
1c7849239c pts-core: Better format text in stress-run 2016-04-10 09:09:30 -05:00
Michael Larabel
1f09021a4a pts-core: Split the stress-run code in pts_test_run_manager into pts_stress_run_manager 2016-04-10 08:59:14 -05:00
Michael Larabel
caa4594972 pts-core: Start working on BASH_FOR_WINDOWS 2016-04-10 07:31:16 -05:00
Michael Larabel
b6dd727ea3 pts-core: Add sensor monitoring overview reporting to stress-run 2016-04-09 18:37:21 -05:00
Michael Larabel
9876d4b554 pts-core: Remove unneeded line 2016-04-09 15:03:19 -05:00
Michael Larabel
f6b1ea4990 pts-core: Typo fix :) 2016-04-09 15:02:48 -05:00
Michael Larabel
3a29cf1d63 pts-core: More efficient system monitoring on stress-run 2016-04-09 15:02:05 -05:00
Michael Larabel
f61e10589e pts-core: Add "Current" to clear up system sensors in stress-run 2016-04-09 14:04:44 -05:00
Michael Larabel
14c4658425 pts-core: Initial stab at sensor monitoring while stress-run 2016-04-09 14:01:39 -05:00
Michael Larabel
82da68b23e pts-core: align PID size 2016-04-08 16:08:44 -05:00
Michael Larabel
404b804616 pts-core: More stress-run text formatting work 2016-04-08 16:06:08 -05:00
Michael Larabel
9c6b50367d pts-core: Fix typo of previous commit 2016-04-08 15:48:43 -05:00
Michael Larabel
2234680bf6 pts-core: Add ELAPSED TIME and TIME REMAINING outputs on stress-run 2016-04-08 15:48:02 -05:00
Michael Larabel
5029fc62e7 pts-core: Don't print "Started Run X" verbage in short display mode 2016-04-08 15:44:11 -05:00
Michael Larabel
2cf8eed156 pts-core: Add alternate CSV information output hidden behind PTS_CSV_ALTERNATE_DESCRIPTION=1 environment variable 2016-04-08 12:54:33 -05:00
Michael Larabel
ab84278515 pts-core: Stress-run infinite fix 2016-04-08 11:48:16 -05:00
Michael Larabel
c318e1c07f pts-core: Extra line break here on stress-run 2016-04-08 11:44:28 -05:00
Michael Larabel
9aadf99d39 pts-core: This should fix up the stress-run behavior regarding testing 2016-04-08 11:38:22 -05:00
Michael Larabel
bc9e566e38 pts-core: Push a halt-testing flag to interrupt tests earlier in stress-run 2016-04-08 10:53:19 -05:00
Michael Larabel
7ec6c6f214 pts-core: Remove earlier debug statements in stress-run 2016-04-06 16:22:46 -05:00
Michael Larabel
d2a33177a7 pts-core: typo fix 2016-04-06 15:22:33 -05:00
Michael Larabel
7918bd4cc4 pts-core: Another temporary debugging tweak 2016-04-06 14:27:30 -05:00
Michael Larabel
a89ce4375b pts-core: More stress-run debug temporary 2016-04-06 14:26:00 -05:00
Michael Larabel
553f5d16cf pts-core: temporary debugging info on stress-run path 2016-04-06 12:02:33 -05:00
Michael Larabel
420c570b09 pts-core: Add extra stress-run message 2016-04-06 08:03:54 -05:00
Michael Larabel
d99e57fb68 pts-core: Add some debug comments to stress-run 2016-04-06 07:53:02 -05:00
Michael Larabel
9aec757040 Rebuild documentation for Hasvik 2016-04-04 16:28:04 -05:00
Michael Larabel
7cbf772db5 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2016-04-04 16:27:10 -05:00
Michael Larabel
70e6bc7825 pts-core: Mark as 6.4.0m0 Hasvik for new development series now that it's strayed enough from Hasvik 2016-04-04 16:26:39 -05:00
phoronix
63d1401f0e pts-core: More stress-run work 2016-04-04 17:05:33 -04:00
phoronix
3908736fd9 pts-core: Fixes for stress-run 2016-04-04 16:17:27 -04:00
Michael Larabel
e7a5b8b6ec pts-core: More stress-run testing 2016-04-04 10:29:07 -05:00
Michael Larabel
4628a69c1d pts-core: Sleep 2 on stress-run 2016-04-04 10:13:51 -05:00
Michael Larabel
e45b81b8a2 pts-core: Stress-run debug 2016-04-04 10:01:55 -05:00
Michael Larabel
ef7be984ac pts-core: More stress-run work 2016-04-04 09:57:14 -05:00
Michael Larabel
290f28394c pts-core: Add basic report counter to stress-run for helping debug/analyze situation 2016-04-04 09:38:47 -05:00
Michael Larabel
d0cbc9c46a pts-core: Add Midori to supported browser list 2016-03-25 13:22:17 -05:00
Michael Larabel
4db4ce29b3 pts-core: Arch packaging tweak 2016-03-25 11:23:50 -05:00
Michael Larabel
daee43f7a1 pts_Graph: Tweak the color pallet 2016-03-22 13:02:10 -05:00
Michael Larabel
c82e6509d6 Phoronix Test Suite 6.2.2 commit from last week 2016-03-14 12:56:47 -05:00
Michael Larabel
d21d59fdee pts-core: Few tweaks for Alpine Linux 2016-03-07 08:40:43 -06:00
Michael Larabel
14d9bc8d81 pts-core: Alpine Linux (APK) external dependency support 2016-03-06 20:06:53 -06:00
Michael Larabel
c3d8bc31e9 phoronix-test-suite: Add Zenwalk/Slackware package helper to launcher 2016-03-06 09:22:38 -06:00
Michael Larabel
61d0555fe5 pts-core: Add more launcher helpers 2016-03-05 20:17:25 -06:00
Fatima Sheremetyeva
106d565ffd void-packages: Few more tweaks 2016-03-05 19:21:58 +00:00
Fatima Sheremetyeva
716a2635eb id-packages: Few more Void Linux packaging tweaks 2016-03-05 19:14:03 +00:00
Fatima Sheremetyeva
5d2f5ac6eb pts-core: Fix typo in code comment :) 2016-03-05 19:11:06 +00:00
Fatima Sheremetyeva
c2193e9844 pts-core: Add Void Linux external dependency handling support 2016-03-05 19:10:04 +00:00
Michael Larabel
c501adc0f9 pts-core: For the new result viewer, add Epiphany to the web browser list 2016-03-04 19:10:58 -06:00
Fatima Sheremetyeva
7954f94868 pts-core: Add OpenSUSE dependency handlery 2016-03-04 19:47:35 -05:00
Michael Larabel
3fad54cefe pts-core: Fix for stress-run 2016-03-03 11:07:13 -06:00
Michael Larabel
54e667ed2b Merge pull request #112 from atom-symbol/master
Remove superfluous quote from phoromatic.css
2016-02-28 07:49:53 -06:00
Jan Ziak (⚛)
ce1acaa6fb Remove superfluous quote from phoromatic.css 2016-02-28 14:43:52 +01:00
Michael Larabel
2a730dc94a phoromatic: Don't use a proxy (if available) when trying to connect from Phoromatic client to server 2016-02-25 10:56:07 -06:00
Michael Larabel
c1f92941cb Phoronix Test Suite 6.2.1 2016-02-22 20:13:19 -06:00
Michael Larabel
a2b0ff2c76 pts_Graph: Add some more product series to the color lookup table 2016-02-22 15:10:21 -06:00
Michael Larabel
70834b9d0a perf_per_dollar: Another fix for module 2016-02-22 13:54:44 -06:00
Michael Larabel
4d1413e5d5 perf_per_dollar: Fix for uninitialized test_result object 2016-02-22 13:48:47 -06:00
Michael Larabel
678b3d95b9 phodevi: Add OpenCL version reporting to system software string 2016-02-21 18:23:17 -06:00
Michael Larabel
33cab40573 deploy: Use DRI3 by default in farm system scripts 2016-02-21 17:06:28 -06:00
Michael Larabel
0cf46fd198 pts-core: Update copyright on the local results viewer 2016-02-21 12:56:43 -06:00
Michael Larabel
cea88fe829 phodevi: Extra Vulkan information reportingphodevi: Extra Vulkan information reporting 2016-02-17 08:02:23 -06:00
Michael Larabel
2b3246f88b pts-core: Bump version for release 2016-02-15 19:07:56 -06:00
Michael Larabel
fe7563d3ad module: Some version bumps, prepping for release 2016-02-15 19:06:34 -06:00
Michael Larabel
cbbcb0cb9a ChangeLog: Prep 2016-02-15 19:05:38 -06:00
Michael Larabel
8bd52e82f0 documentation: rebuild 2016-02-15 19:04:32 -06:00
Michael Larabel
480cf94d0c phodevi: Missing copyright updates 2016-02-15 19:03:06 -06:00
Michael Larabel
5748a84a88 Begin prepping for Gamvik final 2016-02-15 12:20:33 -06:00
Michael Larabel
7e05c67dde pts_Graph: Support for branded colors on more graphs 2016-02-15 12:20:09 -06:00
Michael Larabel
4a87fb301e phodevi: plumbing v 2016-02-15 12:19:02 -06:00
Michael Larabel
472fdeea03 Merge pull request #109 from numerant/sensors
Monitoring and MATISK fixes
2016-02-15 08:30:08 -06:00
Jakub Maleszewski
d7186a11ac pts-core: monitoring results are now properly distinguished between both normal and MATISK test runs 2016-02-13 18:17:23 +01:00
Jakub Maleszewski
9896d0a1d5 pts-core: fix missing "self::" in MATISK 2016-02-13 15:10:09 +01:00
Jakub Maleszewski
1887b4431d pts-core: update environmental variables in system_monitor 2016-02-13 14:51:01 +01:00
Michael Larabel
fa006e04f6 pts_Graph: Compact to scalar of line graphs at 8 rather than 10 2016-02-12 14:02:03 -06:00
Michael Larabel
dc18aa5b0c system_monitor: Don't append test X string to the description 2016-02-12 12:51:32 -06:00
Michael Larabel
470f2dbd80 pts_Graphs: Some tweaks 2016-02-10 09:31:31 -06:00
Michael Larabel
b026cb1ada pts_Graph: Add make_identifiers_web_links hook to horizontal bar graph 2016-02-09 16:05:41 -06:00
Michael Larabel
ab1adb6276 pts-core: Fix pts_test_profile_parser() failing to open test profile ZIP files 2016-02-09 10:21:08 -06:00
Michael Larabel
2755eff0ac Phoronix Test Suite 6.2 Milestone 5 2016-02-05 09:26:44 -06:00
Michael Larabel
a29af9da51 ChangeLog: Drop pre-3.0 changes from the shipped ChangeLog 2016-02-05 09:07:40 -06:00
Michael Larabel
3673eaf57d system_monitor: Typo from copy paste of previous commit :) 2016-02-03 15:14:51 -06:00
Michael Larabel
2b698d630c system_monitor: Handling for posix_kill absence in code 2016-02-03 15:03:29 -06:00
Michael Larabel
47417cc126 phodevi: Sensor clean-up and fixes (Jakub Maleszewski) 2016-02-03 14:46:08 -06:00
Michael Larabel
8fac5c73b0 Merge pull request #94 from numerant/sensors
Sensor monitoring - cleanup and bugfixes
2016-02-03 14:45:07 -06:00
Michael Larabel
ee99fb31b3 pts-core: Add golang as possible external dependency 2016-02-02 15:34:34 -06:00
Michael Larabel
08ae7da2a2 changelog: Restore MATISK module 2016-02-02 06:53:08 -06:00
Michael Larabel
d565f79c05 Merge pull request #108 from numerant/matisk
MATISK module restored and updated for PTS 6
2016-02-02 06:52:18 -06:00
Jakub Maleszewski
7085e4b2cf pts-core: fixed MATISK's incompatibility with PTS 6 2016-02-02 13:39:34 +01:00
Jakub Maleszewski
c41e7b3460 pts-core: re-added MATISK module (version from 25afbd5 commit) 2016-02-02 13:35:04 +01:00
Jakub Maleszewski
7038cad520 pts-core: introduced support for NVMe and MMC in HDD sensors; replaced problematic preg_grep with globbing 2016-02-02 11:26:35 +01:00
Michael Larabel
ea9df9424f phodevi: Mention Jakub Maleszewski for the recent Phodevi sensor work 2016-02-01 16:17:06 -06:00
Michael Larabel
b580e615cf pts-core: Use http://openbenchmarking.org/PTS for connectivity check now that OB is on a better server 2016-02-01 09:43:22 -06:00
Michael Larabel
8910c2fb9a phoromatic: Also add whether power off signaling is allowed next to WoL details on maintenance page 2016-01-30 20:07:07 -06:00
Michael Larabel
070b2ed512 phoromatic: Add Wake On LAN details to the Phoromatic maintenace table page 2016-01-30 20:05:57 -06:00
Michael Larabel
a280b288ff pts_Graph: Fix warning from earlier commit 2016-01-29 15:09:55 -06:00
Michael Larabel
e792c7bef2 pts-graph: Few improvements driven by new OpenBenchmarking.org code paths 2016-01-28 10:47:08 -06:00
Michael Larabel
2ca57c5d8c pts-core: Some README.md tweaks based upon Pull request #105 2016-01-27 06:36:36 -06:00
Michael Larabel
fad2cd4e5d Merge pull request #104 from atom-symbol/master
Run graphics detection only if required
2016-01-27 06:32:44 -06:00
Jan Ziak (⚛)
0bc981e517 Run graphics detection only if required
This improves performance of "./phoronix-test-suite help" for example.
2016-01-27 11:01:24 +01:00
Michael Larabel
852fb9378b Finish of Phoronix Test Suite 6.2 M4 commit 2016-01-26 17:49:44 -06:00
Michael Larabel
db6037dd7b Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2016-01-26 17:48:37 -06:00
Michael Larabel
ac289cc8ff Phoronix Test Suite 6.2 Milestone 4 2016-01-26 17:48:02 -06:00
Michael Larabel
c61b7a09c0 pts_Graph: Fix for graphs sometime not rendering correctly on multi-way comparisons 2016-01-26 17:46:26 -06:00
Fatima Sheremetyeva
6c2f939266 pts-core: Fix regression of multi-way comparison graphs caused by 120638b8ff 2016-01-26 18:30:17 -05:00
Michael Larabel
64b0483248 pts-core: More tweaks pertaining to the PDF rendering and pretty XML printing 2016-01-24 20:05:11 -06:00
Michael Larabel
8765e26c5e pts-core: Rework PDF generation of test results 2016-01-24 18:19:10 -06:00
Michael Larabel
5f093b7919 pts-core: More PDF work 2016-01-24 17:18:55 -06:00
Michael Larabel
4a51138f02 pts-core: Introduce pts_result_file_output::result_file_to_pdf() 2016-01-24 17:10:20 -06:00
Michael Larabel
b2e6aa8bac pts-core: in the OB result schema allow a title of 1 char 2016-01-23 17:26:41 -06:00
Michael Larabel
077f9dd659 pts_Graph: Switch PNG for SVG logo on table 2016-01-23 15:47:00 -06:00
Michael Larabel
17ccadb307 pts-core: PTS_NO_COMPILER_MASK 2016-01-21 12:40:01 -06:00
Michael Larabel
79f0b2b535 phoromatic: Add option to result viewer for exposing possible points of interest\ 2016-01-20 19:30:22 -06:00
Michael Larabel
658d624f32 pts-core: Safeguards against API change from previous commit if in future the new options are enabled along these other code-paths 2016-01-20 15:45:27 -06:00
Michael Larabel
34c86410c2 pts-core: Add function for optionally removing unchanged results
pts-core: Add function for optionally removing noisy results
2016-01-20 15:32:45 -06:00
Michael Larabel
bc81c03158 phoromatic: UI tweaks to the export public results viewer 2016-01-20 11:00:41 -06:00
Michael Larabel
d3d8942cb6 pts-core: Allow reversing a sorted a buffer of results 2016-01-19 08:10:02 -06:00
Michael Larabel
bb5ac80ee7 pts-core: Other part of fix 2016-01-18 15:53:30 -06:00
Michael Larabel
15ab3d3434 perf_per_dollar: Fix for commit 2016-01-18 15:52:49 -06:00
Michael Larabel
a2ce8583de pts-core: Cleanups 2016-01-18 14:19:35 -06:00
Jakub Maleszewski
33a15ca53f pts-core: replace array_push() with $array[] in system_monitor 2016-01-17 14:12:17 +01:00
Jakub Maleszewski
22ea9587bb Merge branch 'sensors' 2016-01-17 14:09:32 +01:00
Jakub Maleszewski
06e7f695be Merge remote-tracking branch 'upstream/master' 2016-01-17 13:51:57 +01:00
Jakub Maleszewski
432def01d2 pts-core: per-test-try monitoring fixes 2016-01-17 13:49:34 +01:00
Jakub Maleszewski
9d677ef936 pts-core: make monitoring results distinguishable between MATISK runs 2016-01-17 11:33:17 +01:00
Michael Larabel
e428d3781b phoromatic: Report the web server 2016-01-13 10:45:51 -06:00
Michael Larabel
25fcf9f3be phoromatic: Add secret PHOROMATIC_WANTS_APACHE option 2016-01-12 18:33:04 -06:00
Michael Larabel
73fb1b3ace pts_Graph: Add bsd color for bar graphs 2016-01-12 16:40:50 -06:00
Michael Larabel
33be563142 pts-core: Add OpenBSD helper for pkg_add 2016-01-12 11:27:45 -06:00
Michael Larabel
69b1b5dc1a pts-core: Another skip for ctype_alnum 2016-01-12 09:56:52 -06:00
Michael Larabel
960245ac7b pts-core: Typo from previous commit 2016-01-12 09:56:19 -06:00
Michael Larabel
f2495baadb pts-core: Fix for ctype_alnum not showing up on dfly bsd 2016-01-12 09:54:23 -06:00
Michael Larabel
7dbde7e982 pts_Graph: Fix from earlier commit 2016-01-11 14:03:58 -06:00
Michael Larabel
849fa769e4 pts_Graph: Comment out the incomplete noisy result detection code from previous commit 2016-01-11 12:02:49 -06:00
Michael Larabel
fa34e629de pts_Graph: Add FirePro/Quadro color coding to horizontal bar too 2016-01-11 12:00:17 -06:00
Michael Larabel
99ed71c045 phoromatic: Add view_results_since support to the export results viewer 2016-01-09 17:50:01 -06:00
Michael Larabel
4fc9b5046f pts-core: Similar fix for virtual test suites 2016-01-09 07:33:05 -06:00
Michael Larabel
2276ea9611 pts-core: Fix for some test profiles not showing up in list-tests sub-command 2016-01-09 07:31:10 -06:00
Michael Larabel
7718da8d06 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2016-01-07 20:18:42 -06:00
Michael Larabel
b5c58544d1 bump to 6131 2016-01-07 20:18:31 -06:00
Fatima Sheremetyeva
92c5a89757 Revert "phodevi: Change array pushing"
This reverts commit 6c98586662.
2016-01-07 20:54:18 -05:00
Michael Larabel
a5639a25b1 phoromatic: When in limited network mode, reset from ping at different times 2016-01-07 18:19:06 -06:00
Michael Larabel
798a3e6fba phoromatic: Add an extra sleep on start-up when doing limited network communication 2016-01-07 18:15:01 -06:00
Michael Larabel
e2fac00203 phoromatic: Expand the random time element slightly 2016-01-07 18:11:53 -06:00
Michael Larabel
d6d64bdd13 Phoronix Test Suite 6.2 Milestone 3 2016-01-07 18:08:31 -06:00
Michael Larabel
e65f6e913f phoromatic: Add LimitNetworkCommunication option 2016-01-07 18:06:40 -06:00
Michael Larabel
0e62d0c4c1 pts-core: Add midori to browser list 2016-01-06 18:57:42 -06:00
Michael Larabel
367b8e680f pts-core: Finish most of removal of array_push() 2016-01-06 17:54:16 -06:00
Michael Larabel
6c98586662 phodevi: Change array pushing 2016-01-06 17:33:40 -06:00
Jakub Maleszewski
f17a504909 pts-core: children processes are now killed after processing results, cgroup name insertion fixed
pts_arrays::unique_push
2016-01-06 22:25:45 +01:00
Michael Larabel
835d06be2d pts-core: Add httpd as a possible external dependency 2016-01-06 09:41:58 -06:00
Michael Larabel
c1262c4476 pts-core: Optimize array usage along hot paths 2016-01-06 08:36:48 -06:00
Michael Larabel
81b2145f2a pts-core: Drop array_push usage in client objects 2016-01-06 08:24:15 -06:00
Michael Larabel
a97b5fbff8 pts-core: More array conversion 2016-01-06 08:02:50 -06:00
Michael Larabel
414098f601 pts-coreL Fix for previous commit 2016-01-06 07:55:50 -06:00
Michael Larabel
11b8283843 pts-core: More array push conversion 2016-01-06 07:54:19 -06:00
Michael Larabel
7d81b9224c pts-core: Optimize some more arrays 2016-01-06 07:28:27 -06:00
Michael Larabel
673e37a22b pts_Graph: Drop array_push usage 2016-01-06 07:21:52 -06:00
Fatima Sheremetyeva
6f8f6150a1 pts-core: Add pts-footnote support 2016-01-05 17:53:08 -05:00
Michael Larabel
1698818efb Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2016-01-05 16:10:08 -06:00
Michael Larabel
297bc4206d phoromatic: Fix in listing tests on schedules page when dealing with cache mismatch 2016-01-05 16:09:45 -06:00
Michael Larabel
79bee6a042 pts-core: Some copyright updates forgot to do from previous commits 2016-01-05 13:20:58 -06:00
Michael Larabel
6b6c70b649 Merge pull request #102 from juju-solutions/charms.benchmark
Charms.benchmark
2016-01-05 13:19:59 -06:00
Adam Israel
142e2f92c1 Deprecate chlp in favor of charms.benchmark 2016-01-05 11:06:27 -05:00
Michael Larabel
120638b8ff pts_Graph: rendering fix on collision of result identifiers 2016-01-04 10:55:16 -06:00
Michael Larabel
23c7f8ad8c pts-core: Add a few more safety checks 2016-01-04 10:46:48 -06:00
Adam Israel
eb6d354c94 Merge remote-tracking branch 'phoronix-test-suite/master' 2016-01-04 10:28:04 -05:00
Michael Larabel
94ace3c885 pts-core: Add system to default list of repositories 2016-01-04 07:04:28 -06:00
Michael Larabel
4a544ffb56 Phoronix Test Suite 6.2 M2 appears all good 2016-01-02 06:43:11 -06:00
Michael Larabel
54898f7377 Phoronix Test Suite 6.2 Milestone 2 2016-01-01 10:44:28 -06:00
Michael Larabel
0f51b6b3a2 pts-core: Add MinimalTestTime user configuration option 2016-01-01 08:10:19 -06:00
Michael Larabel
faf1b27b2c Merge pull request #101 from ptzafrir/timeout
set minimal test timeout by configuration variable
2016-01-01 08:09:31 -06:00
Tzafrir Poupko
610fb640ad move minimalTestTime to options/TestResultValidation 2016-01-01 16:06:14 +02:00
Tzafrir Poupko
e31385f604 set minimal test time by configuration variable 2016-01-01 15:42:45 +02:00
Michael Larabel
a3f2256336 pts-core: Add FullOutput to pts_config 2015-12-29 12:20:11 -06:00
Michael Larabel
e4b7e7f2d9 Merge branch 'master' of github.com:phoronix-test-suite/phoronix-test-suite 2015-12-29 12:18:53 -06:00
Michael Larabel
bf78f2db13 pts-core: Add FullOutput to the default user config 2015-12-29 12:18:33 -06:00
Michael Larabel
ebb76e4752 Merge pull request #99 from ptzafrir/output
Add configuration option to print all test steps
2015-12-29 12:17:51 -06:00
Tzafrir
5fe117b776 Add configuration option to print all test steps
This address issue #95 - FullOutput configuration option is added
If set the output of pre/test/interim/post is dumped to stdout
2015-12-28 15:44:19 +02:00
Michael Larabel
1ec700cee9 phoromatic: Export viewer tweaks 2015-12-28 06:25:26 -06:00
Michael Larabel
2bab1bda45 phodevi: Fixes for the landing of PTS_NPROC 2015-12-28 06:23:41 -06:00
Michael Larabel
036b735a69 Merge pull request #97 from ptzafrir/nproc
Add support for nproc environment variable
2015-12-28 06:21:44 -06:00
Tzafrir
ab2c13b82e use std_caching 2015-12-27 16:51:59 +02:00
Tzafrir
fa148e7553 fix compile error 2015-12-27 16:24:04 +02:00
Tzafrir
8ec8eab7cb use num cpu cores in phodevi.php 2015-12-27 16:21:23 +02:00
Michael Larabel
03a122e87a Merge pull request #98 from ptzafrir/pre-post
Check pre/post scripts exit status
2015-12-27 06:17:31 -06:00
Tzafrir
5102ccd9a7 Check pre/post scripts exit status
And fail the test if the script failed
2015-12-27 13:45:36 +02:00
Tzafrir
4f14e3314c Add support for nproc environment variable
This allows to change the cpu count for multiple tests
to test performance under variable number of cpu cores used
2015-12-27 12:47:31 +02:00
Michael Larabel
3806120ef7 phoromatic: Adjust export dump rule 2015-12-20 18:39:00 -06:00
Michael Larabel
4097daeeb7 phodevi: Software string detection improvements 2015-12-16 15:04:43 -06:00
Michael Larabel
9aabbab6e5 pts-core: Use bash when available in the pts_tests call script 2015-12-16 13:27:54 -06:00
Michael Larabel
7cc0abd595 Phoronix Test Suite 6.2 Milestone 1 2015-12-15 11:18:00 -06:00
Michael Larabel
14ad1180a4 pts-core: Don't include the Extends of tests on upload-test-profile 2015-12-14 10:48:46 -06:00
Michael Larabel
5eaa004c70 pts-core: Fix for possible OB login failure 2015-12-14 10:11:06 -06:00
Michael Larabel
6b687e75f8 phodevi: Support sys.power sensor monitoring fallback on BAT1 2015-12-10 07:25:57 -06:00
Michael Larabel
597ef4c764 pts-core: Allow the SupportedPlatforms and SoftwareType to be optional (when using CTP extends) 2015-12-08 12:13:52 -06:00
Michael Larabel
48fa67f007 Time to bump the version for 6.2 Gamvik development 2015-12-08 11:57:12 -06:00
Fatima Sheremetyeva
a8fb00a7d6 pts-core: Allow Cascading Test Profiles / Extends to inherit the results-definition.xml 2015-12-08 12:56:05 -05:00
Fatima Sheremetyeva
b002052840 pts-core: Add basic Arch dependency handler using pkgfile 2015-12-08 11:30:17 -06:00
Michael Larabel
7e61625fa5 pts-core: Basic implementation of SystemDependencies for dynamically resolving system/external dependencies based on file name 2015-12-08 11:18:22 -06:00
Michael Larabel
9a5f42e0c9 pts-core: Add new TestProfile/SystemDependencies field to test profile specification, to be implemented 2015-12-08 10:23:24 -06:00
Fatima Sheremetyeva
a17e271dad pts-core: Add ubuntu dependency handler 2015-12-08 11:07:47 -05:00
Michael Larabel
d71296dd0b pts-core: Begin work on dynamic dependency handler infrastructure 2015-12-03 07:50:44 -06:00
Michael Larabel
8838244dc0 phoromatic: Allow public listing of download cache files when navigating in browser to /download-cache.php 2015-11-29 18:41:43 -06:00
Jakub Maleszewski
0208723886 pts-core: remove var_dump from system_monitor 2015-11-29 21:27:58 +01:00
Jakub Maleszewski
db92ec4195 pts-core: fix off-by-one bug in system_monitor's offset saving 2015-11-29 21:26:12 +01:00
Michael Larabel
14589143da phodevi: Assume Windows is x86_64 when PROCESSOR_ARCHITEW6432 is missing 2015-11-24 05:52:35 -06:00
Jakub Maleszewski
db4f94fdee pts-core: replaced ugly shell_exec grepping with native PHP code in HDD sensors 2015-11-22 22:03:47 +01:00
Jakub Maleszewski
95b3e69384 pts-core: formatting fixes 2015-11-22 21:47:57 +01:00
Michael Larabel
349a2a0d1a documentation rebuild 2015-11-20 09:46:01 -06:00
Michael Larabel
6b644b22ef Phoronix Test Suite 6.0.1 2015-11-20 09:43:51 -06:00
Michael Larabel
0c73c8fee2 phodevi: More fixes for the sensors code 2015-11-19 21:08:58 -06:00
Michael Larabel
d878e36de9 phodevi: Fix cpu_freq bug 2015-11-19 17:01:57 -06:00
403 changed files with 28028 additions and 10474 deletions

View File

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

3790
ChangeLog

File diff suppressed because it is too large Load Diff

View File

@@ -1,13 +1,13 @@
# Phoronix Test Suite 6.0.0
http://www.phoronix-test-suite.com/
# Phoronix Test Suite 8.6.0m3
https://www.phoronix-test-suite.com/
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.
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
@@ -27,7 +27,7 @@ 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
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
@@ -46,26 +46,25 @@ Phoromatic, and OpenBenchmarking.org is available by contacting
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 web-site.
the Phoronix Test Suite website.
## INSTALLATION & SETUP:
## 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, 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
(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`.
## USAGE:
## Usage
The process to download, install/setup, execute, and report the results of a
benchmark can be as simple as a command such as `phoronix-test-suite benchmark
@@ -76,16 +75,16 @@ mode for non-interactive benchmarking by first running `phoronix-test-suite
batch-setup` and then using the `batch-run` sub-command rather than `run`.
Viewing installed system hardware and software is available via
`phoronix-test-suite system-info` or `phoronix-test-suite detailed-system-info`
for greater verbosity.
`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.
Additional information is available from the Phoronix Test Suite web-site
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. A man page is also bundled with
the phoronix-test-suite software.
`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.

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2015, Phoronix Media
Copyright (C) 2008 - 2015, 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
@@ -23,7 +23,7 @@
if(!is_executable("phoronix-test-suite") || !is_dir("pts-core/"))
{
echo "\nYou must run this script from the root directory of the phoronix-test-suite/ folder!\n";
echo "Example: php5 deploy/deb-package/build-package-deb.php\n";
echo "Example: php deploy/deb-package/build-package-deb.php\n";
exit(0);
}
if(!is_executable('/usr/bin/dpkg'))
@@ -63,8 +63,8 @@ $control_file .= "Section: Utilities\n";
$control_file .= "Installed-Size: " . shell_exec("cd /tmp/pts-deb-builder/; du -s | cut -f 1");
$control_file .= "Priority: optional\n";
$control_file .= "Architecture: all\n";
$control_file .= "Depends: php5-cli, php5-gd, php5-json\n";
$control_file .= "Recommends: build-essential\n";
$control_file .= "Depends: php-cli|php5-cli,php5-cli|php-xml\n";
$control_file .= "Recommends: build-essential, php-gd|php5-gd\n";
$control_file .= "Maintainer: Phoronix Media <trondheim-pts@phoronix-test-suite.com>\n";
$control_file .= "Description: An Automated, Open-Source Testing Framework\n " . @str_replace("\n", " ", file_get_contents('pts-core/static/short-description.txt')) . "\n";
$control_file .= "Homepage: http://www.phoronix-test-suite.com/ \n";

View File

@@ -12,6 +12,7 @@ Section "Device"
Option "Virtualheads" "1"
Option "Vsync" "0"
Option "SwapbuffersWait" "0"
Option "DRI" "3"
EndSection
Section "Screen"

View File

@@ -2,6 +2,7 @@ Section "Device"
Identifier "Device0"
Driver "radeon"
Option "SwapBuffersWait" "0"
Option "DRI "3"
EndSection
Section "Monitor"

View File

@@ -1,116 +0,0 @@
# Overview
[Phoronix Test Suite](http://www.phoronix-test-suite.com/) (PTS) is a comprehensive
testing and benchmarking suite.
This charm requires Juju 1.23 or later and uses [Juju
Actions](https://jujucharms.com/docs/latest/authors-charm-actions/) to run the
benchmarks.
# Usage
First bootstrap Juju and then deploy pts:
juju bootstrap
juju deploy pts
From source:
cd phoronix-test-suite/deploy/juju
juju deploy --repository=. local:trusty/pts
# Configuration
juju set pts user-config="`cat /path/to/user-config.xml`"
# Running benchmarks
You can list all of the actions available with the following command:
juju action defined pts
This charm supports the following benchmarks:
- `cpu`: CPU centric stress tests
- `custom`: Custom stress tests
- `io`: IO centric tests.
- `memory`: Memory centric stress tets
- `smoke`: Smoke test, tests that complete quickly.
To execute a benchmark you can use a Juju action, in this example we run the cpu
stress tests on the first pts unit launched:
juju action do pts/0 cpu
or in this case, do a io test on pts unit 3:
juju action do pts/3 io
You can also run benchmarks across the entire pts service:
```sh
juju deploy pts # Deploys one unit
juju add-unit -n10 pts # Add 10 more nodes
juju action do pts memory # Exec the memory benchmark on all 11 pts nodes
```
If you want to run custom benchmarks:
juju action do pts/0 smoke tests='pts/apache pts/nginx'
# Check on actions
`juju action status` allows you to see the current status of an action. The benchmark results will be available once the action status has changed to `completed`.
```
juju action status 7707a291-be29-46aa-8d02-2daa8ee24ebf
actions:
- id: 7707a291-be29-46aa-8d02-2daa8ee24ebf
status: running
unit: pts/0
```
# Get results
Once an action has completed, you can fetch the results in yaml or json, in addition to the default *smart* format. The `wait` flag allows you to tell fetch how long to wait for results. This is useful if you want to block while waiting for an action to finish.
```
juju action fetch --wait 0 7707a291-be29-46aa-8d02-2daa8ee24ebf
results:
results:
cachebench-read:
units: MB/s
value: "1129.95"
cachebench-read-modify-write:
units: MB/s
value: "5158.10"
cachebench-write:
units: MB/s
value: "3601.54"
phpbench:
units: Score
value: "35783"
stream-add:
units: MB/s
value: "13187.50"
stream-copy:
units: MB/s
value: "12179.08"
stream-scale:
units: MB/s
value: "12292.20"
stream-triad:
units: MB/s
value: "13069.26"
status: completed
timing:
completed: 2015-03-23 18:47:32 +0000 UTC
enqueued: 2015-03-23 17:51:59 +0000 UTC
started: 2015-03-23 17:52:03 +0000 UTC
```
The raw output from pts will be stored on the unit, in timestamped directories under /opt/pts/results.
# Contact Information
- Maintainer: Adam Israel <adam.israel@canonical.com>
- [Phoronix Test Suite](http://www.phoronix-test-suite.com/) homepage

View File

@@ -1,20 +0,0 @@
custom:
description: "Custom stress tests"
params:
tests:
description: "Which PTS tests to run, space delimited. See README for full list"
type: string
default: ""
smoke:
description: Smoke test, tests that complete quickly.
params:
tests:
description: "Memory centric stress tests"
type: string
default: "pts/phpbench pts/cachebench pts/stream"
memory:
description: Memory centric stress tets
cpu:
description: CPU centric stress tests
io:
description: "IO centric tests."

View File

@@ -1,28 +0,0 @@
#!/bin/bash
set -e
run_benchmark() {
chlp benchmark-start || true
params="$@"
mkdir -p /opt/pts/results
rm -rf /root/.phoronix-test-suite
cp -Rpf files/dotfile-phoronix-test-suite /root/.phoronix-test-suite
run=`date +%s`
userconfig=`config-get user-config`
if [ ! -z "$userconfig" ]; then
echo $userconfig > /root/.phoronix-test-suite/user-config.xml
fi
phoronix-test-suite batch-install $params > /dev/null 2>&1
phoronix-test-suite batch-run $params
rsync -aqz /root/.phoronix-test-suite /opt/pts/results/$run
scripts/parse /opt/pts/results/$run/.phoronix-test-suite/test-results/$(date +%Y)-*/test-1.xml
chlp benchmark-finish || true
}

View File

@@ -1,11 +0,0 @@
#!/bin/bash
set -eux
# We're just sourcing the central benchmark, typically people will just put
# their benchmarks in one file.
. actions/benchmark
params=`action-get tests`
run_benchmark $params

View File

@@ -1,9 +0,0 @@
#!/bin/bash
set -e
# We're just sourcing the central benchmark, typically people will just put
# their benchmarks in one file.
. actions/benchmark
run_benchmark pts/ramspeed pts/stream

View File

@@ -1 +0,0 @@
custom

View File

@@ -1,18 +0,0 @@
options:
submit-results:
default: false
description: Submit the results of benchmark runs to OpenBenchmarking.org.
type: boolean
proxy-address:
default: ''
description: The address of the proxy server to use.
type: string
proxy-port:
default: 0
description: The port of the proxy server to use.
type: int
user-config:
default: ''
description: The contents of the user-config.xml to use for defaults.
type: string

View File

@@ -1,60 +0,0 @@
<?xml version="1.0"?>
<!--Phoronix Test Suite v3.6.1 (Arendal)-->
<?xml-stylesheet type="text/xsl" href="xsl/pts-user-config-viewer.xsl"?>
<PhoronixTestSuite>
<Options>
<OpenBenchmarking>
<AnonymousUsageReporting>FALSE</AnonymousUsageReporting>
<AnonymousSoftwareReporting>FALSE</AnonymousSoftwareReporting>
<AnonymousHardwareReporting>FALSE</AnonymousHardwareReporting>
<IndexCacheTTL>3</IndexCacheTTL>
<AlwaysUploadSystemLogs>FALSE</AlwaysUploadSystemLogs>
</OpenBenchmarking>
<General>
<DefaultBrowser></DefaultBrowser>
<UsePhodeviCache>TRUE</UsePhodeviCache>
<DefaultDisplayMode>DEFAULT</DefaultDisplayMode>
</General>
<Modules>
<LoadModules>toggle_screensaver, update_checker</LoadModules>
</Modules>
<Installation>
<RemoveDownloadFiles>TRUE</RemoveDownloadFiles>
<SearchMediaForCache>TRUE</SearchMediaForCache>
<SymLinkFilesFromCache>FALSE</SymLinkFilesFromCache>
<PromptForDownloadMirror>FALSE</PromptForDownloadMirror>
<EnvironmentDirectory>~/.phoronix-test-suite/installed-tests/</EnvironmentDirectory>
<CacheDirectory>~/.phoronix-test-suite/download-cache/</CacheDirectory>
</Installation>
<Testing>
<SaveSystemLogs>TRUE</SaveSystemLogs>
<SaveInstallationLogs>TRUE</SaveInstallationLogs>
<SaveTestLogs>TRUE</SaveTestLogs>
<RemoveTestInstallOnCompletion>FALSE</RemoveTestInstallOnCompletion>
<ResultsDirectory>~/.phoronix-test-suite/test-results/</ResultsDirectory>
<AlwaysUploadResultsToOpenBenchmarking>FALSE</AlwaysUploadResultsToOpenBenchmarking>
</Testing>
<TestResultValidation>
<DynamicRunCount>TRUE</DynamicRunCount>
<LimitDynamicToTestLength>20</LimitDynamicToTestLength>
<StandardDeviationThreshold>3.50</StandardDeviationThreshold>
<ExportResultsTo></ExportResultsTo>
</TestResultValidation>
<BatchMode>
<SaveResults>TRUE</SaveResults>
<OpenBrowser>FALSE</OpenBrowser>
<UploadResults>FALSE</UploadResults>
<PromptForTestIdentifier>FALSE</PromptForTestIdentifier>
<PromptForTestDescription>FALSE</PromptForTestDescription>
<PromptSaveName>FALSE</PromptSaveName>
<RunAllTestCombinations>TRUE</RunAllTestCombinations>
<Configured>TRUE</Configured>
</BatchMode>
<Networking>
<NoNetworkCommunication>FALSE</NoNetworkCommunication>
<Timeout>20</Timeout>
<ProxyAddress></ProxyAddress>
<ProxyPort></ProxyPort>
</Networking>
</Options>
</PhoronixTestSuite>

View File

@@ -1,47 +0,0 @@
PhoronixTestSuite:
Options:
Installation:
SymLinkFilesFromCache: "FALSE"
SearchMediaForCache: "TRUE"
EnvironmentDirectory: ~/.phoronix-test-suite/installed-tests/
PromptForDownloadMirror: "FALSE"
RemoveDownloadFiles: "TRUE"
CacheDirectory: ~/.phoronix-test-suite/download-cache/
Modules:
LoadModules: toggle_screensaver, update_checker
General:
DefaultDisplayMode: DEFAULT
DefaultBrowser:
UsePhodeviCache: "TRUE"
Networking:
ProxyPort:
ProxyAddress:
NoNetworkCommunication: "FALSE"
Timeout: "20"
BatchMode:
PromptSaveName: "FALSE"
SaveResults: "TRUE"
Configured: "TRUE"
RunAllTestCombinations: "TRUE"
PromptForTestIdentifier: "FALSE"
OpenBrowser: "FALSE"
UploadResults: "FALSE"
PromptForTestDescription: "FALSE"
TestResultValidation:
StandardDeviationThreshold: "3.50"
DynamicRunCount: "TRUE"
ExportResultsTo:
LimitDynamicToTestLength: "20"
Testing:
RemoveTestInstallOnCompletion: "FALSE"
ResultsDirectory: ~/.phoronix-test-suite/test-results/
SaveSystemLogs: "TRUE"
AlwaysUploadResultsToOpenBenchmarking: "FALSE"
SaveTestLogs: "TRUE"
SaveInstallationLogs: "TRUE"
OpenBenchmarking:
IndexCacheTTL: "3"
AlwaysUploadSystemLogs: "FALSE"
AnonymousUsageReporting: "FALSE"
AnonymousHardwareReporting: "FALSE"
AnonymousSoftwareReporting: "FALSE"

View File

@@ -1,24 +0,0 @@
#!/usr/bin/env ruby
# Author: Peter M. Petrakis <peter.petrakis@canonical.com>
require 'rubygems'
require 'nokogiri'
require 'active_support' # for enhanced Hash
# http://dirk.net/2010/08/05/convert-between-xml-hash-yaml-json-in-ruby-conversion-cheat-sheet/
# We can convert to JSON, YAML, whatever.
def return_hash()
pts_xml = 'dotfile-phoronix-test-suite/user-config.xml'
pts_array = Array.new
File.open(pts_xml).each { |x| pts_array.push(x) }
my_hash = Hash.from_xml(pts_array.to_s)
return my_hash
end
if __FILE__ == $PROGRAM_NAME
my_hash = return_hash()
File.open('/tmp/yaml-out', 'w') do |fd|
my_hash.to_yaml.each { |x| fd.puts(x) }
end
end
# vim:ts=2:sw=2:et:ft=ruby:

View File

@@ -1 +0,0 @@
phoronix-common

View File

@@ -1 +0,0 @@
phoronix-common

View File

@@ -1,175 +0,0 @@
#!/bin/bash -u
# cannot use set dash e with heredoc read variable assignment
# vim:ts=2:sw=2:et:ft=sh:
CWD=$(dirname $0)
TOP=${CHARM_DIR}
COMMAND=$(basename $0)
# there's some hardcoded XML that depends on this so not
# exposing this for now
PTSDIR="/root/.phoronix-test-suite"
PTSARCHIVE="/root/phoronix-archive"
# crazy right? :)
# http://stackoverflow.com/questions/1167746/how-to-assign-a-heredoc-value-to-a-variable-in-bash
# http://peterpetrakis.blogspot.com/2013/07/execute-complex-python-or-ruby-code.html
read -r -d '' upstart_status <<'EOF'
import sys, re
import traceback
from subprocess import Popen, PIPE
try:
state = sys.stdin.read().rstrip('\n')
g = re.match('^([\w-]+)(\s[\w+\/]+)(, \w+ \d+)?',state).groups()
# it always returns array.len = 3, if the last one isn't None, it's running
if g[-1] is not None:
print 'running'
else:
print 'stopped'
except Exception:
print 'running' # assume busted
exc_type, exc_value, exc_traceback = sys.exc_info()
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
cmd = 'juju-log %s' % lines
Popen(cmd.split(), stdout=PIPE)
EOF
build_testsuites() {
pts_mode=$(config-get pts_mode)
juju-log "pts: building test config: ${pts_mode}"
if [ $pts_mode = 'full' ]; then
# get each one and concat it all with some space padding
local sys=$(config-get pts_sys)
local cpu=$(config-get pts_cpu)
local mem=$(config-get pts_mem)
local io=$(config-get pts_io)
echo "${sys} ${cpu} ${mem} ${io}"
elif [ $pts_mode = 'custom' ]; then
local tmp=$(config-get pts_custom)
if [ -z $tmp ]; then
echo " " # otherwise facter gets angry
else
echo "${tmp}"
fi
else
# we default to something sensible
echo $(config-get pts_smoke)
fi
}
# I know I could have just used vars for this but this
# was a facter proving ground, the simplist possible use.
install_job() {
local job=/etc/init/cabs-runner.conf
rm -f $job
# the quotes around EOF suppress shell expansion
tee $job <<'EOF'
# run test suite
description "Run phoronix test suite"
task
script
mv -f /tmp/*tgz $(facter phoronix-archive) || :
PTSRESULTS="/tmp/pts-results-$(uname -n)-$(date +%y%m%d%H%M%S).tgz"
rm -rf $(facter phoronix-testdir) || :
cp -Rpf $(facter phoronix-source) $(facter phoronix-testdir) || :
echo 'Y N N' | phoronix-test-suite batch-install $(facter phoronix-testsuite)
phoronix-test-suite batch-run $(facter phoronix-testsuite)
tar cvf - $(facter phoronix-testdir) | gzip -c > "$PTSRESULTS"
chmod 775 /tmp/*tgz || :
end script
EOF
}
start_test() {
juju-log "pts: starting test run - `date +%y%m%d%H%M%S`"
initctl stop cabs-runner || :
initctl start --no-wait cabs-runner || :
}
stop_test() {
juju-log "pts: stopping test run - `date +%y%m%d%H%M%S`"
initctl stop cabs-runner || :
}
clear_facts() {
juju-log "puppet facter reset"
fact-del phoronix-testsuite 2>&1 > /dev/null || :
fact-del phoronix-testdir 2>&1 > /dev/null || :
}
install_phoronix() {
juju-log "installing phoronix"
clear_facts
stop_test
apt-get -qq update
apt-get install -qqy unzip build-essential default-jre-headless mesa-utils
apt-get install -qqy phoronix-test-suite
# puppet helper to distribute facts between scripts
apt-get install -qqy facter-customfacts-plugin
# install this to allow querying via upstart to proceed
# for whatever reason, even though we're in 'config'
# when we enter config_changed, the initial job isn't
# created until we actually setup or run a test
install_job
install --mode=775 -d $PTSARCHIVE
fact-add phoronix-source "$TOP/files/dotfile-phoronix-test-suite"
}
config_changed_phoronix() {
# if we change this while a test is running we can't stop it
# as upstart loses track of the pids
# We are devolving a bit in the meanwhile because of a newly
# discovered bug in juju config where it coalesces config-set
# under some circumstances making a deterministic interface
# impossible.
#
# Until the benchmark-control interface is deployed... If you
# try to do a config-set while the benchmark is running, config-changed
# hook will simply die, prompting external intervention
local state=$(initctl status cabs-runner | python -c "$upstart_status")
juju-log "phoronix is $state"
[ $state == 'running' ] && exit 1
juju-log 'configuring pts'
local suite=$(build_testsuites)
fact-add phoronix-archive "$PTSARCHIVE"
fact-add phoronix-testsuite "$suite"
fact-add phoronix-testdir "$PTSDIR"
juju-log "confirm benchmark settings"
juju-log "archive: $(facter phoronix-archive)"
juju-log "suite: $(facter phoronix-testsuite)"
juju-log "dir: $(facter phoronix-testdir)"
}
case $COMMAND in
install)
install_phoronix
;;
start)
juju-log "starting phoronix is a nop, use the upstart job"
;;
stop)
juju-log "starting phoronix is a nop, use the upstart job"
;;
config-changed)
config_changed_phoronix
;;
upgrade-charm)
install_phoronix
;;
*)
juju-log "command not recognized"
esac
exit 0

View File

@@ -1 +0,0 @@
phoronix-common

View File

@@ -1 +0,0 @@
phoronix-common

View File

@@ -1 +0,0 @@
phoronix-common

View File

@@ -1,6 +0,0 @@
name: pts
maintainer: Adam Israel <adam.israel@canonical.com>
summary: The Phoronix Test Suite
description: |
Installs phoronix-test-suite and provides simple interface to enable
individual stress tests and runs them via upstart job

View File

@@ -1 +0,0 @@
15

View File

@@ -1,50 +0,0 @@
#!/usr/bin/python
import os
import re
import sys
import json
import subprocess
import xml.etree.ElementTree as ET
# Description keys to strip for multi-test readability
strips = ['Test: ', 'Type: ', 'PHP Benchmark Suite', ' ']
def action_set(key, val):
action_cmd = ['action-set']
key = key.strip().replace(' ', '-')
if isinstance(val, dict):
for k, v in val.iteritems():
k = k.strip().replace(' ', '-')
action_set('%s.%s' % (key, k), v)
return
action_cmd.append('%s=%s' % (key, val))
subprocess.check_call(action_cmd)
test_file = sys.argv[1]
if not os.path.isfile(test_file):
sys.exit(1)
tree = ET.parse(test_file)
root = tree.getroot()
for result in root.iter('Result'):
desc = result.find('Description').text
for s in strips:
desc = desc.replace(s, '')
test = result.find('Title').text.lower()
desc = re.sub(r'[\W]', '-', desc.lower())
value = result.find('Data').find('Entry').find('Value').text
units = result.find('Scale').text
print(test, desc, value, units)
key = 'results.%s-%s' % (test, desc) if desc else 'results.%s' % test
action_set(key, {'value': value, 'units': units})

View File

@@ -0,0 +1,6 @@
#!/bin/sh
# PROVIDE: phoromatic-client
# REQUIRE: LOGIN
/usr/bin/phoronix-test-suite phoromatic.connect

View File

@@ -3,7 +3,7 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2015, Phoronix Media
Copyright (C) 2008 - 2017, Phoronix Media
Copyright (C) 2008, Andrew Schofield
This program is free software; you can redistribute it and/or modify
@@ -91,7 +91,7 @@ file_put_contents(getenv('HOME') ."/.rpmmacros", "%_topdir /tmp/pts-rpm-builder"
shell_exec("rpmbuild -ba --verbose /tmp/pts-rpm-builder/SPECS/pts.spec");
shell_exec("cp /tmp/pts-rpm-builder/RPMS/noarch/phoronix-test-suite-" . $rpm_v . "-1.noarch.rpm ./");
shell_exec("rm -f " . getenv('HOME') . "/.rpmmacros");
shell_exec("mv -f /tmp/pts-rpm-builder/.rpmmacros " . getenv('HOME') . ' 2>1');
shell_exec("mv -f /tmp/pts-rpm-builder/.rpmmacros " . getenv('HOME') . ' 2>&1');
shell_exec("rm -rf /tmp/pts-rpm-builder");
?>

View File

@@ -10,23 +10,23 @@ PHORONIX TEST SUITE PUBLIC TODO LIST:
- Possibly restore "weighted suites" [http://phorogit.com/index.php?p=phoronix-test-suite.git&a=commitdiff&h=548e5c073cc90d92ac3f382ca4933d5f556e78c6&hb=444441f9be866f51920e0ad8ca3909951b4d90c5]
- Integrate finish-run command into the run command, auto-detect if the result file was a partial save and then ask if to perform run recovery'
- Multi-threaded downloading of test files
- Numerous pts_render improvements [see in-line code comments]
- Optimus / DRI_PRIME=1 / xrandr --listproviders better GPU detection
- NVIDIA make use of UsedDedicatedGPUMemory as new GPU sensor
- Clean up all the WebSocket code and make it fit to spec
- Incremental/streaming result uploads support
- Check with Phodevi's parsers what other tools support JSON outputs - e.g. http://karelzak.blogspot.com/2015/06/json-output-for-basic-tools.html for cleaner parsing
- Improve titles on tables like in: http://openbenchmarking.org/result/1603172-GA-AMDTONGA973
### PTS-GRAPH ###
- Rotated text alignment for some PNG graphixs is sometimes off by 90/180 degrees compared to SVG, e.g. http://openbenchmarking.org/s/Compiler
- Rotated text alignment for some PNG graphics is sometimes off by 90/180 degrees compared to SVG, e.g. http://openbenchmarking.org/s/Compiler
### OPENBENCHMARKING.ORG ###
- Shorten long change-logs on test profile pages - e.g. http://openbenchmarking.org/test/pts/hpcc
### NEW TEST PROFILES ###
### POSSIBLE NEW TEST PROFILES ###
- Python-libmemcached [http://code.google.com/p/python-libmemcached/]
- Intel HiBench [https://github.com/intel-hadoop/HiBench]
- Hadoop Benchmarks / TeraSort
- LATT Latency Tests [git://git.kernel.dk/latt.git]
- QMC Beaver [http://qmcbeaver.sourceforge.net/]
@@ -36,7 +36,6 @@ PHORONIX TEST SUITE PUBLIC TODO LIST:
- 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/
@@ -45,21 +44,43 @@ PHORONIX TEST SUITE PUBLIC TODO LIST:
- http://sourceforge.net/projects/ffsb/
- http://www.ratgpu.com/
- http://panthema.net/2013/pmbw/
- http://www.thedarkmod.com/
- http://code.google.com/p/lz4/
- http://parsec.cs.princeton.edu/parsec3-doc.htm
- http://www.capsl.udel.edu/splash/Download.html
- https://github.com/facebook/linkbench
- https://github.com/vasi/pixz
- stephentu/silo
- http://nondot.org/sabre/LLVMNotes/#benchmarks
- 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/
- http://dacapobench.org/
- 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
- suitesparse http://faculty.cse.tamu.edu/davis/suitesparse.html
- ospray/ospray
- Microsoft/X-Mem
- https://www2.mrc-lmb.cam.ac.uk/relion/index.php?title=Benchmarks_%26_computer_hardware
- kripke
- nekbone
- https://github.com/u39kun/deep-learning-benchmark
- AMG
- CORAL-2 benchmarks
- CompuBench (Windows)
https://github.com/cart/amethyst-bunnymark
rav1e (not yet multithreaded as of Oct 2018)
gnzlbg/aobench
https://github.com/mpicbg-scicomp/gearshifft
https://github.com/hyperledger/caliper
dav1d
RedShift demo
https://wiki.fysik.dtu.dk/gpaw/devel/benchmarks.html
- More AV1 IVF sample files: http://download.opencontent.netflix.com/?prefix=AV1/Chimera/
SPECFEM3D https://www.nvidia.com/en-us/data-center/gpu-accelerated-applications/specfem3d-globe/
Ashes of the Singularity Escalation (January 2019 black screen)
hitman2 on steam play benchmarks nicely but no sign of benchmark logs
shadow of the tomb raider, can't figure out any CLI switches
filebench
flowgrind
### WEB SOCKET / HTML5 USER INTERFACE WORK ###

View File

@@ -1,4 +1,4 @@
.TH phoronix-test-suite 1 "www.phoronix-test-suite.com" "6.0.0"
.TH phoronix-test-suite 1 "www.phoronix-test-suite.com" "8.6.0m3"
.SH NAME
phoronix-test-suite \- The Phoronix Test Suite is an extensible open-source platform for performing testing and performance evaluation.
.SH SYNOPSIS
@@ -6,14 +6,36 @@ 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, 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.
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 install [Test | Suite | OpenBenchmarking.org ID | Test Result] ...
.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 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.
.TP
.B install-dependencies [Test | Suite | OpenBenchmarking.org ID | Test Result] ...
.B install-dependencies [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option will install the external dependencies needed by the selected test(s) using the distribution's package management system. For example, some tests depend upon GCC for compiling code. If GCC is not detected on the system, the Phoronix Test Suite will attempt to install GCC using the distribution's package management system. If you are running this command as a local user, you may be prompted for the root password while the process is running. For unsupported distributions, the dependency names will be displayed along with common names for the package. The install-dependencies option needs to be supplied with the test name or suite as an argument. When using the install option, the external dependencies are automatically checked.
.TP
.B make-download-cache
@@ -26,13 +48,16 @@ This option will permanently remove a installed test by the Phoronix Test Suite.
.B auto-compare
This option will autonomously determine the most relevant test(s) to run for any selected sub-system(s). The tests to run are determined via OpenBenchmarking.org integration with the global results pool. Related test results from OpenBenchmarking.org are also merged to provide a straight-forward and effective means of carrying out a system comparison. If wishing to find comparable results for any particular test profile(s), simply pass the test profile names as additional arguments to this command.
.TP
.B benchmark [Test | Suite | OpenBenchmarking.org ID | Test Result] ...
.B benchmark [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option will install the selected test(s) (if needed) and will proceed to run the test(s). This option is equivalent to running phoronix-test-suite with the install option followed by the run option. Multiple arguments can be supplied to run additional tests at the same time and save the results into one file.
.TP
.B estimate-run-time [Test | Suite | OpenBenchmarking ID | Test Result]
This option will provide estimates for test run-time / length.
.TP
.B finish-run [Test Result]
This option can be used if a test run had not properly finished running all tests within a saved results file. Using this option when specifying a saved results file where all tests had not completed will attempt to finish testing on the remaining tests where there are missing results.
.TP
.B run [Test | Suite | OpenBenchmarking.org ID | Test Result] ...
.B run [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option will run the selected test(s).
.TP
.B run-random-tests
@@ -41,29 +66,32 @@ This option will query OpenBenchmarking.org to run random benchmarks and result
.B run-tests-in-suite
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.
.TP
.B stress-run [Test | Suite | OpenBenchmarking.org ID | Test Result] ...
.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
.SH BATCH TESTING
.B batch-benchmark [Test | Suite | OpenBenchmarking.org ID | Test Result] ...
.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.
.TP
.B batch-install [Test | Suite | OpenBenchmarking.org ID | Test Result] ...
.B batch-install [Test | Suite | OpenBenchmarking ID | Test Result] ...
If you wish to run the install process in the Phoronix Test Suite batch mode but do not wish to run any tests at this time. Running the install process in the batch mode will use the default values and not prompt the user of any possible options, to ensure the process is fully automated.
.TP
.B batch-run [Test | Suite | OpenBenchmarking.org ID | Test Result] ...
.B batch-run [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option and its arguments are equivalent to the run option, but the process will be run in the Phoronix Test Suite batch mode.
.TP
.B batch-setup
This option is used to configure the batch mode options for the Phoronix Test Suite, which is subsequently written to the user configuration file. Among the options are whether to automatically upload the test results to OpenBenchmarking.org and prompting for the saved file name.
.TP
.B default-benchmark [Test | Suite | OpenBenchmarking.org ID | Test Result] ...
.B default-benchmark [Test | Suite | OpenBenchmarking ID | Test Result] ...
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.
.TP
.B default-run [Test | Suite | OpenBenchmarking.org ID | Test Result] ...
.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 internal-run [Test | Suite | OpenBenchmarking.org ID | Test Result] ...
.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
.SH OPENBENCHMARKING.ORG
@@ -79,9 +107,6 @@ This option will attempt to cache the test profile/suite meta-data from OpenBenc
.B openbenchmarking-changes
This option will list recent changes to test profiles of enabled OpenBenchmarking.org repositories.
.TP
.B openbenchmarking-launcher
This option is called automatically with the .openbenchmarking MIME file extension support for launching OpenBenchmarking.org operations.
.TP
.B openbenchmarking-login
This option is used for controlling your Phoronix Test Suite client options for OpenBechmarking.org and syncing the client to your account.
.TP
@@ -91,6 +116,12 @@ This option is used for refreshing the stored OpenBenchmarking.org repostory inf
.B openbenchmarking-repositories
This option will list the OpenBenchmarking.org repositories currently linked to this Phoronix Test Suite client instance.
.TP
.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
@@ -100,35 +131,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 detailed-system-info
Display detailed information about the installed system hardware and software information as detected by the Phoronix Test Suite Phodevi Library.
.TP
.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 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.org ID | Test Result]
.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.
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
@@ -141,6 +162,9 @@ This option will list all test profiles that are currently installed on the syst
.B list-missing-dependencies
This option will list all of the packages / external test dependencies that are missing from the system that the Phoronix Test Suite may potentially need by select test profiles.
.TP
.B list-not-installed-tests
This option will list all test profiles that are supported and available but presently NOT installed on the system.
.TP
.B list-possible-dependencies
This option will list all of the packages / external test dependencies that are are potentially used by the Phoronix Test Suite.
.TP
@@ -153,21 +177,33 @@ This option will list various details about installed tests and their usage.
.B list-unsupported-tests
This option will list all available test profiles that are available from the enabled OpenBenchmarking.org repositories but are NOT SUPPORTED on the given hardware/software platform. This is mainly a debugging option for those looking for test profiles to potentially port to new platforms, etc.
.TP
.B search
This option provides command-line searching abilities for test profiles / test suites / test results. The search query can be passed as a parameter otherwise the user is prompted to input their search query..
.TP
.SH ASSET CREATION
.B debug-benchmark [Test | Suite | OpenBenchmarking.org ID | Test Result] ...
.B build-suite
This option will guide the user through the process of generating their own test suite, which they can then run. Optionally, passed as arguments can be the test(s) or suite(s) to add to the suite to be created, instead of being prompted through the process.
.TP
.B create-test-profile
This option can be used for creating a Phoronix Test Suite test profile by answering questions about the test for constructing the test profile XML meta-data and handling other boiler-plate basics for getting started in developing new tests.
.TP
.B debug-benchmark [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option is intended for use by test profile writers and is identical to the <em>run</em> option but will yield more information during the run process that can be used to debug issues with a test profile or to verify the test profile is functioning correctly.
.TP
.B debug-install [Test | Suite | OpenBenchmarking.org ID | Test Result] ...
.B debug-install [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option is intended for use by test profile writers and is identical to the install option but will yield more information during the run process that can be used to debug issues with a test profile installer or to verify the test profile is functioning correctly.
.TP
.B debug-test-download-links [Test | Suite | OpenBenchmarking.org ID | Test Result]
.B debug-result-parser [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option is intended for use by test profile writers and is used for debugging a result parser. No test execution is done, but there must already be PTS-generated .log files present within the test's installation directory.
.TP
.B debug-test-download-links [Test | Suite | OpenBenchmarking ID | Test Result]
This option will check all download links within the specified test profile(s) to ensure there are no broken URLs.
.TP
.B download-test-files [Test | Suite | OpenBenchmarking.org ID | Test Result] ...
.B download-test-files [Test | Suite | OpenBenchmarking ID | Test Result] ...
This will download the selected test file(s) to the Phoronix Test Suite download cache but will not install the tests.
.TP
.B force-install [Test | Suite | OpenBenchmarking.org 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.
.B inspect-test-profile [Test]
This option can be used for inspecting a Phoronix Test Suite test profile with providing inside details on test profiles for debugging / evaluation / learning purposes.
.TP
.B result-file-to-suite [Test Result]
This option will guide the user through the process of generating their own test suite, which they can then run, that is based upon an existing test results file.
@@ -175,16 +211,22 @@ This option will guide the user through the process of generating their own test
.B validate-result-file
This option can be used for validating a Phoronix Test Suite result file as being compliant against the OpenBenchmarking.org specification.
.TP
.B validate-test-profile
.B validate-test-profile [Test]
This option can be used for validating a Phoronix Test Suite test profile as being compliant against the OpenBenchmarking.org specification.
.TP
.B validate-test-suite
This option can be used for validating a Phoronix Test Suite test suite as being compliant against the OpenBenchmarking.org specification.
.TP
.SH RESULT MANAGEMENT
.B analyze-all-runs [Test Result]
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.
.TP
.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 edit-result-file [Test Result]
This option is used if you wish to edit the title and description of an existing result file.
.TP
@@ -212,6 +254,9 @@ 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-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
@@ -227,13 +272,15 @@ 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
.SH RESULT ANALYTICS
.B analyze-all-runs [Test Result]
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.
.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
.B build-suite
This option will guide the user through the process of generating their own test suite, which they can then run. Optionally, passed as arguments can be the test(s) or suite(s) to add to the suite to be created, instead of being prompted through the process.
.B commands
This option will display a short list of possible Phoronix Test Suite commands.
.TP
.B debug-dependency-handler
This option is used for testing the distribution-specific dependency handler for external dependencies.
.TP
.B debug-render-test
This option is used during the development of the Phoronix Test Suite software for testing of the result and graph rendering code-paths This option will download a large number of reference test results from LinuxBenchmarking.com.
@@ -241,35 +288,16 @@ This option is used during the development of the Phoronix Test Suite software f
.B debug-self-test
This option is used during the development of the Phoronix Test Suite software for testing of internal interfaces, commands, and other common code-paths. The produced numbers should only be comparable for the same version of the Phoronix Test Suite, on the same hardware/software system, conducted on the same day of testing. This isn't intended as any scientific benchmark but simply to stress common PHP code-paths and looking for hot areas to optimize, etc.
.TP
.B enterprise-setup
This option can be run by enterprise users immediately after package installation or as part of an in-house setup script. Running this command will ensure the phoronix-test-suite program is never interrupted on new runs to accept user agreement changes and defaults the anonymous usage reporting to being disabled and other conservative defaults.
.TP
.B help
This option will display the list of available Phoronix Test Suite commands.
.TP
.B network-setup
This option allows the user to configure how the Phoronix Test Suite connects to OpenBenchmarking.org and other web-services. Connecting through an HTTP proxy can be configured through this option.
.TP
.B user-config-reset
This option can be used for resetting the Phoronix Test Suite user configuration file to its default state.
.TP
.B user-config-set
This option can be used for setting an XML value in the Phoronix Test Suite user configuration file.
This option will display a list of available Phoronix Test Suite commands and possible parameter types.
.TP
.B version
This option will display the Phoronix Test Suite client version.
.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.
.TP
.B start-remote-gui-server
Start the GUI web server and WebSocket server processes for remote (or local) access via the web-browser. The settings can be configured via the Phoronix Test Suite's XML configuration file.
.TP
.B start-ws-server
Manually start a WebSocket server for communication by remote Phoronix Test Suite GUIs, the Phoronix Test Suite Multi-System Commander, and other functionality. This function checks the PTS_WEBSOCKET_PORT and PTS_WEBSOCKET_SERVER environment variables for configuration.
.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.
.TP
.B list-modules
This option will list all of the available Phoronix Test Suite modules on this system.
.TP
@@ -282,22 +310,45 @@ This option will allow you to configure all available end-user options for a Pho
.B test-module [Phoronix Test Suite Module]
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.
.TP
.SH USER CONFIGURATION
.B enterprise-setup
This option can be run by enterprise users immediately after package installation or as part of an in-house setup script. Running this command will ensure the phoronix-test-suite program is never interrupted on new runs to accept user agreement changes and defaults the anonymous usage reporting to being disabled and other conservative defaults.
.TP
.B network-info
This option will print information detected by the Phoronix Test Suite around the system's network configuration.
.TP
.B network-setup
This option allows the user to configure how the Phoronix Test Suite connects to OpenBenchmarking.org and other web-services. Connecting through an HTTP proxy can be configured through this option.
.TP
.B user-config-reset
This option can be used for resetting the Phoronix Test Suite user configuration file to its default state.
.TP
.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 g
n
.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 - 2015 by Phoronix Media, Michael Larabel.
Copyright 2008 - 2019 by Phoronix Media, Michael Larabel.
.TP

View File

@@ -1,111 +0,0 @@
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="xsl/pts-definitions-viewer.xsl" ?>
<PhoronixTestSuite>
<Definitions>
<Define>
<Name>P_RESULTS_PARSER_MATCH_TO_TEST_ARGUMENTS</Name>
<Value>PhoronixTestSuite/ResultsParser/MatchToTestArguments</Value>
<Description>If there are multiple ResulsParser sections within the XML file and this tag is set, the Phoronix Test Suite will see if this string appears within the PTS_TEST_ARGUMENTS in determining if this is the ResultsParser section to use for parsing the results.</Description>
</Define>
<Define>
<Name>P_RESULTS_PARSER_TEMPLATE</Name>
<Value>PhoronixTestSuite/ResultsParser/OutputTemplate</Value>
<Description>The section of the test output to look for the result(s) within.</Description>
</Define>
<Define>
<Name>P_RESULTS_PARSER_RESULT_KEY</Name>
<Value>PhoronixTestSuite/ResultsParser/ResultKey</Value>
<Description>The key to look for when parsing the OutputTemplate to find where the result should be stored. If this tag is not implemented, the default key will be used.</Description>
</Define>
<Define>
<Name>P_RESULTS_PARSER_LINE_HINT</Name>
<Value>PhoronixTestSuite/ResultsParser/LineHint</Value>
<Description>A unique string to search the test result output for to indicate this is the line that contains the result value.</Description>
</Define>
<Define>
<Name>P_RESULTS_PARSER_LINE_BEFORE_HINT</Name>
<Value>PhoronixTestSuite/ResultsParser/LineBeforeHint</Value>
<Description>The LineBeforeHint tag is similar to LineHint but is used to indicate the line before where the test results appear, in the event the LineHint tag cannot be used reliably.</Description>
</Define>
<Define>
<Name>P_RESULTS_PARSER_LINE_AFTER_HINT</Name>
<Value>PhoronixTestSuite/ResultsParser/LineAfterHint</Value>
<Description>The LineAfterHint tag is similar to LineBeforeHint but is used to indicate the line after where the test results appear, in the event the LineHint or LineBeforeHint tags cannot be used reliably.</Description>
</Define>
<Define>
<Name>P_RESULTS_PARSER_RESULT_BEFORE_STRING</Name>
<Value>PhoronixTestSuite/ResultsParser/ResultBeforeString</Value>
<Description>The ResultBeforeString tag is optional and can be used if there is a consistient string following the reporting of the result, in the event the result's location is not static within the line string.</Description>
</Define>
<Define>
<Name>P_RESULTS_PARSER_STRIP_FROM_RESULT</Name>
<Value>PhoronixTestSuite/ResultsParser/StripFromResult</Value>
<Description>Any string that should be searched for and removed from the result value anywhere within the value string.</Description>
</Define>
<Define>
<Name>P_RESULTS_PARSER_STRIP_RESULT_POSTFIX</Name>
<Value>PhoronixTestSuite/ResultsParser/StripResultPostfix</Value>
<Description>This is similar to the StripFromResult tag but will only look at the end of the value string for this string to be removed. (I.e. if a unit such as 'ms' or 'FPS' is appended to the result by the test without a space.)</Description>
</Define>
<Define>
<Name>P_RESULTS_PARSER_MULTI_MATCH</Name>
<Value>PhoronixTestSuite/ResultsParser/MultiMatch</Value>
<Description>If the result value should be found multiple times within the result file and then some mathematical operation carried out, it should be set using this tag. Setting the value to AVERAGE will find all matches and then calculate the average value based upon matches. While not required, setting the value to NONE will use the default code-path of only looking for one result value.</Description>
</Define>
<Define>
<Name>P_RESULTS_PARSER_DIVIDE_BY</Name>
<Value>PhoronixTestSuite/ResultsParser/DivideResultBy</Value>
<Description>If the result value should be divided by some constant (to convert the result to a different unit), the value should be supplied in this tag.</Description>
</Define>
<Define>
<Name>P_RESULTS_PARSER_MULTIPLY_BY</Name>
<Value>PhoronixTestSuite/ResultsParser/MultiplyResultBy</Value>
<Description>If the result value should be multiplied by some constant (to convert the result to a different unit), the value should be supplied in this tag.</Description>
</Define>
<Define>
<Name>P_IMAGE_PARSER_MATCH_TO_TEST_ARGUMENTS</Name>
<Value>PhoronixTestSuite/ImageParser/MatchToTestArguments</Value>
<Description>If there are multiple ResulsParser sections within the XML file and this tag is set, the Phoronix Test Suite will see if this string appears within the PTS_TEST_ARGUMENTS in determining if this is the ResultsParser section to use for parsing the results.</Description>
</Define>
<Define>
<Name>P_IMAGE_PARSER_SOURCE_IMAGE</Name>
<Value>PhoronixTestSuite/ImageParser/SourceImage</Value>
<Description>If the test profile is for an image quality comparison, the ImageFile tag should contain the file/path of the source file.</Description>
</Define>
<Define>
<Name>P_IMAGE_PARSER_IMAGE_X</Name>
<Value>PhoronixTestSuite/ImageParser/ImageX</Value>
<Description>If the test profile is for an image quality comparison, the ImageX should be the X coordinate of where to begin cropping the source file.</Description>
</Define>
<Define>
<Name>P_IMAGE_PARSER_IMAGE_Y</Name>
<Value>PhoronixTestSuite/ImageParser/ImageY</Value>
<Description>If the test profile is for an image quality comparison, the ImageX should be the Y coordinate of where to begin cropping the source file.</Description>
</Define>
<Define>
<Name>P_IMAGE_PARSER_IMAGE_WIDTH</Name>
<Value>PhoronixTestSuite/ImageParser/ImageWidth</Value>
<Description>If the test profile is for an image quality comparison, the ImageWidth should be the produced image width.</Description>
</Define>
<Define>
<Name>P_IMAGE_PARSER_IMAGE_HEIGHT</Name>
<Value>PhoronixTestSuite/ImageParser/ImageHeight</Value>
<Description>If the test profile is for an image quality comparison, the ImageHeight should be the produced image height.</Description>
</Define>
<Define>
<Name>P_MONITOR_PARSER_SENSOR</Name>
<Value>PhoronixTestSuite/SystemMonitor/Sensor</Value>
<Description>If the test profile is to monitor any system sensors during the testing process, the name of the sensor (via the Phodevi name; i.e. cpu.usage) should be supplied. While not a Phodevi sensor, if passing sys.time as the sensor value, the time it takes to execute the test will be recorded.</Description>
</Define>
<Define>
<Name>P_MONITOR_PARSER_FREQUENCY</Name>
<Value>PhoronixTestSuite/SystemMonitor/PollingFrequency</Value>
<Description>If the test profile is to monitor any system sensors during the testing process, how often the matched sensor is to be polled (in seconds) should be supplied. Floating values are supported.</Description>
</Define>
<Define>
<Name>P_MONITOR_PARSER_REPORT</Name>
<Value>PhoronixTestSuite/SystemMonitor/Report</Value>
<Description>If the test profile is to monitor any system sensors during the testing process, this tag provides how the monitored results should be reported. Supported values include MAX, MIN, AVG, and ALL.</Description>
</Define>
</Definitions>
</PhoronixTestSuite>

View File

@@ -1,42 +0,0 @@
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="xsl/pts-definitions-viewer.xsl" ?>
<PhoronixTestSuite>
<Definitions>
<Define>
<Name>P_DOWNLOADS_PACKAGE_URL</Name>
<Value>PhoronixTestSuite/Downloads/Package/URL</Value>
<Description>The URL(s) to download the package from. If multiple URLs are supplied (delimited by a comma), the Phoronix Test Suite will randomly choose one URL but will fallback to other URLs if one fails either due to the file missing, the MD5 changed, or server inaccessability.</Description>
<Required>YES</Required>
</Define>
<Define>
<Name>P_DOWNLOADS_PACKAGE_MD5</Name>
<Value>PhoronixTestSuite/Downloads/Package/MD5</Value>
<Description>The MD5 check-sum for the file to be downloaded. This is to ensure file integrity. If no string is supplied, no MD5 check will be performed.</Description>
<Required>RECOMMENDED</Required>
</Define>
<Define>
<Name>P_DOWNLOADS_PACKAGE_FILENAME</Name>
<Value>PhoronixTestSuite/Downloads/Package/FileName</Value>
<Description>If this tag is set, once the file is downloaded it will be renamed to this value. If this tag is not set, the remote file-name will be used.</Description>
<Required>NO</Required>
</Define>
<Define>
<Name>P_DOWNLOADS_PACKAGE_FILESIZE</Name>
<Value>PhoronixTestSuite/Downloads/Package/FileSize</Value>
<Description>The size of the file to be downloaded should be the value of this tag. The FileSize should be an integer that is the number of bytes that makes up the file. This tag is used so that the Phoronix Test Suite can determine the total size of files that need to be downloaded for a given operation.</Description>
<Required>RECOMMENDED</Required>
</Define>
<Define>
<Name>P_DOWNLOADS_PACKAGE_PLATFORMSPECIFIC</Name>
<Value>PhoronixTestSuite/Downloads/Package/PlatformSpecific</Value>
<Description>If this package is just needed on select operating systems / platforms, list them inside this tag and multiple platforms can be delimited by a comma.</Description>
<Required>NO</Required>
</Define>
<Define>
<Name>P_DOWNLOADS_PACKAGE_ARCHSPECIFIC</Name>
<Value>PhoronixTestSuite/Downloads/Package/ArchitectureSpecific</Value>
<Description>If this package is just needed on select system/processor architectures, list them inside this tag and multiple architectures can be delimited by a comma.</Description>
<Required>NO</Required>
</Define>
</Definitions>
</PhoronixTestSuite>

View File

@@ -1,73 +0,0 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<Title>Phoronix Test Suite - Module Writing</Title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link href="includes/pts-documentation.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="pts_doc_header"><div class="pts_doc_fixed"><a href="http://www.phoronix-test-suite.com/"><div id="pts_doc_logo"></div></a></div></div>
<div class="pts_doc_fixed">
<div class="pts_doc_notice"><div style="float: left"><a href="index.html">&lt;&lt; Documentation Home</a></div><div style="float: right;">Module Writing</div></div>
<div class="pts_doc_main">
<!-- PTS AREA -->
<h1>Phoronix Test Suite Modules</h1>
<div style="width: 1px; height: 20px;"></div>
<p>Writing a module for the Phoronix Test Suite allows new functionality to be added
without having to extensively learn how pts-core functions. The module framework
for the Phoronix Test Suite allows modules to be written as a PHP object. Example PTS modules could include a module to shutdown the
screensaver when the Phoronix Test Suite starts up and re-enabling it when the
test is over, using sendmail to forward the results to an e-mail address when
testing is completed, or writing the current test status to a LCDproc-enabled
VFD display.</p>
<p>Modules are stored in <em>pts-core/modules/</em>. Loading a
module is done by either setting the <em>PTS_MODULES</em> environmental variable
with the name of the module (excluding the <em>.php</em> file
extension) or by associating a module with a separate environmental variable. The default list of modules to be loaded is stored in <em>~/.phoronix-test-suite/user-config.xml</em>.</p>
<p>Note: To run through all of the function calls for a module without needing to run a test,
run <em>phoronix-test-suite test-module MODULE_NAME</em>. Additionally, running
<em>phoronix-test-suite debug-module MODULE_NAME</em> will yield additional debugging details while
executing the same process.</p>
<h1>Module</h1>
<p>To see all of the functions supported for modules written in PHP, look at <em>pts-core/modules/dummy_module.php</em>
and additionally the other .php modules that ship with the Phoronix Test Suite.
Additionally, there are several functions written specifically for Phoronix Test
Suite modules that make it easier to save files, read files, and provided multi-threading
support for modules. The <em>pts_timed_function()</em> makes it possible (and
very easy) to thread functions within a module so that at a set interval the defined
functions will be called. For example, this support is used heavily within the
<em>system_monitor</em> module to poll sensors every X seconds even while there
are tests running. These functions can be found within <em>pts-core/objects/pts_module.php</em>.</p>
<p>Below is a sample module that times how long it takes to run the Phoronix Test
Suite. It would be saved as <em>pts-core/modules/time_me.php</em>.</p>
<blockquote>&lt;?php<br />
class time_me extends pts_module_interface<br />
{<br />
&nbsp; &nbsp; const module_name = "Time Me!";<br />
&nbsp; &nbsp; const module_version = "1.0.0";<br />
&nbsp; &nbsp; const module_description = "This is a module that times how long the Phoronix Test Suite runs.";<br />
&nbsp; &nbsp; const module_author = "Phoronix Media";<br />
<br />
&nbsp; &nbsp; static $start_time = NULL;<br />
&nbsp; &nbsp; static $end_time = NULL;<br />
<br />
&nbsp; &nbsp; public static function __startup()<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; self::$start_time = time();<br />
&nbsp; &nbsp; }<br />
&nbsp; &nbsp; public static function __shutdown()<br />
&nbsp; &nbsp; {<br />
&nbsp; &nbsp; &nbsp; &nbsp; self::$end_time = time();<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; $time_elapsed = self::$end_time - self::$start_time;<br />
<br />
&nbsp; &nbsp; &nbsp; &nbsp; echo "\nThe Phoronix Test Suite Ran For " . $time_elapsed . " Seconds.\n";<br />
&nbsp; &nbsp; }<br />
}<br />
?&gt;</blockquote>
<p>Then by running <em>PTS_MODULES=time_me phoronix-test-suite benchmark video-extensions</em>,
at the end of the test it would print a string similar to: &quot;The Phoronix
Test Suite Ran For 52 Seconds.&quot;</p>
<!-- END OF PTS AREA -->
</div></div><div class="pts_doc_fixed"><div class="pts_doc_bottom"><div style="float: left;"><a href="http://www.phoronix-test-suite.com/">Phoronix-Test-Suite.com</a></div><div style="float: right;">Copyright &copy; 2008 by <a href="http://www.phoronix-media.com/">Phoronix Media</a>.</div></div></div>
</body>
</html>

View File

@@ -1,118 +0,0 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<Title>Phoronix Test Suite - A Quick Guide To Writing A Test Profile</Title>
<link href="includes/pts-documentation.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="pts_doc_header"><div class="pts_doc_fixed"><a href="http://www.phoronix-test-suite.com/"><div id="pts_doc_logo"></div></a></div></div>
<div class="pts_doc_fixed">
<div class="pts_doc_notice"><div style="float: left"><a href="index.html">&lt;&lt; Documentation Home</a></div><div style="float: right;">Writing A Test Profile</div></div>
<div class="pts_doc_main">
<!-- PTS AREA -->
<h1>Writing A Test Profile</h1>
<p>Writing a test profile for the Phoronix Test Suite is a relatively quick and easy
process for anyone familiar with common Linux commands and the basics of XML.
To help you understand the design of the Phoronix Test Suite, this guide covers
the steps needed to write a testing profile for a very simple application.</p>
<p>The first step in the profile writing process is to, well, have a piece of
software you'd like to use with the Phoronix Test Suite. This software can be
closed-source or open-source and be virtually anything as long as it is compatible
with the Linux operating system.</p>
<p>For this guide, the piece of software being used for demonstration is just
a simple C++ program that calculates Pi to 8,765,4321 digits using the Leibniz
formula. Below is this sample piece of software intended just for demonstration
purposes.</p>
<blockquote>#include &lt;iostream&gt;<br>
#include &lt;math.h&gt;</p>
<p>int main()<br>
{<br>
double pi = 0;</p>
<p> for(long int i = 1; i &lt;= 87654321; i++)<br>
pi += (double) pow(-1, i + 1) / (2 * i - 1);</p>
<p> pi *= 4;<br>
std::cout &lt;&lt; &quot;Done Calculating Pi...&quot; &lt;&lt; endl;<br>
return 0;<br>
}</blockquote>
<p>The first step in the actual profile writing process is to name it. If you're
looking to ultimately push this profile to be included in the Phoronix Test Suite,
its name must be all lower case and consist of just alpha-numeric characters,
but can contain dashes (-). A more advanced test profile capability is operating system prefixes, and if using those there is an
underscore separating the prefix from the normal profile name. For this sample profile, we're calling it <em>sample-program</em>
and the file-name would be <em>sample-program.xml</em>. Our (very basic) profile is showcased
below.</p>
<blockquote>&lt;PhoronixTestSuite&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TestProfile&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Version&gt;1.1.0&lt;/Version&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TestType&gt;Processor&lt;/TestType&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;SoftwareType&gt;Utility&lt;/SoftwareType&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;License&gt;FREE&lt;/License&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Status&gt;PRIVATE&lt;/Status&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Maintainer&gt;Phoronix Media&lt;/Maintainer&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TestProfile&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TestInformation&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Title&gt;Sample Pi Program&lt;/Title&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TimesToRun&gt;3&lt;/TimesToRun&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ResultScale&gt;Seconds&lt;/ResultScale&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Proportion&gt;LIB&lt;/Proportion&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Description&gt;A simple C++ program that calculates Pi to 8,765,4321 digits using the Leibniz formula. This test can be used for showcasing how to write a basic test profile.&lt;/Description&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ExternalDependencies&gt;build-utilities&lt;/ExternalDependencies&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TestInformation&gt;<br>
&lt;/PhoronixTestSuite&gt;</blockquote>
<p>This XML profile is what interfaces with the Phoronix Test Suite and provides
all the needed information about the test as well as other attributes. For a complete
listing of all the supported profile options, look at the specification files
in the documentation folder. In the case of <em>sample-program</em>, it lets the Phoronix
Test Suite know that it's composed of free software, is designed to test the processor,
is intended for private use only, and this profile is maintained by Phoronix Media.
In addition, it tells the Phoronix Test Suite to execute this program three times
and as no result quantifier is set, the average of the three runs will be taken.
This profile also tells the Phoronix Test Suite that the generic <em>build-utilities</em>
package is needed, which will attempt to ensure that GCC and the standard development
utilities/libraries are installed on your Linux distribution. This is needed as
the C++ source-code will need to be built from source.</p>
<p>The next step is to write the <em>install.sh</em> file, which once called by the Phoronix
Test Suite is intended to install the test locally for benchmarking purposes.
The <em>install.sh</em> file is technically optional, but is generally used by all tests. Note: The first argument supplied to
the install script is the directory that the test needs to be installed to. The
<em>install.sh</em> file (in our instance) is to be placed inside <em>pts/test-resources/sample-program</em>.
Below is the <em>install.sh</em> for the <em>sample-program</em>.</p>
<blockquote>#!/bin/sh<br /><br />
tar -xjf sample-pi-program-1.tar.bz2<br />
g++ sample-pi-program.cpp -o sample-pi-program<br />
echo &quot;#!/bin/sh<br />
\$TIMER_START<br />
./sample-pi-program 2&gt;&amp;1<br />
\$TIMER_STOP<br />
&quot; &gt; sample-program<br>
chmod +x sample-program</blockquote>
<p>Phoronix Test Suite 1.4 and later provides an integrated multi-platform micro-timer framework that provides the <em>$TIMER_START</em> and <em>$TIMER_STOP</em> functionality.</p>
<p>This install file builds the code with GCC, and then creates a small script
that is run by the Phoronix Test Suite, which times how long it takes to run the
software. Where does the source-code come into play? Well, it needs to be downloaded
now from a web server. The Phoronix Test Suite has built-in support for managing
downloads from multiple servers in a random over, fall-back support if one mirror
is done, and verification of MD5 check-sums. Below is the <em>downloads.xml</em> file for
<em>sample-program</em> that covers all of this.</p>
<blockquote>&lt;PhoronixTestSuite&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Downloads&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Package&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;URL&gt;http://www.phoronix-test-suite.com/benchmark-files/sample-pi-program.cpp&lt;/URL&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;MD5&gt;e90fb790df8d1544696a1439c9b5bd8d&lt;/MD5&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Package&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Downloads&gt;<br>
&lt;/PhoronixTestSuite&gt;</blockquote>
<p>The final step in the profile writing process is to write a parser to strip
all information but the reported result from the standard output. The standard
output is submitted to <em>parse-results.sh</em> or <em>parse-results.php</em> as the first argument
in quotes or using <em>$LOG_FILE</em> if the test profile writes to that variable's location.</p>
<p>If the test profile uses the integrated micro-timer framework with <em>$TIMER_START</em> and <em>$TIMER_STOP</em> but no parse-results file is provided, the Phoronix Test Suite will automatically use the difference between <em>$TIMER_START</em> and <em>$TIMER_STOP</em> and use that as the test result. This is the time (in seconds) that elapsed between starting and stopping the timer.</p>
<p>After that, with all the files in their correct locations, just run: <em>phoronix-test-suite
benchmark sample-program</em>. The Phoronix Test Suite should now handle the rest by
installing the test, running the test, and recording the results (if you so choose).
There is no additional work that needs to be done for the results to be recorded
in the PTS Results Viewer or even reporting the results to OpenBenchmarking.org.</p>
<p><strong>For more information, visit <a href="http://www.phoronix-test-suite.com/">Phoronix-Test-Suite.com</a> and read the <a href="index.html">included documentation</a>. It should also be of great help to just look at the existing test profiles, which can be found inside the <em>phoronix-test-suite/pts/</em> folder with the <em>test-resources</em> and <em>test-profiles</em> sub-directories.</strong></p>
<!-- END OF PTS AREA -->
</div></div><div class="pts_doc_fixed"><div class="pts_doc_bottom"><div style="float: left;"><a href="http://www.phoronix-test-suite.com/">Phoronix-Test-Suite.com</a></div><div style="float: right;">Copyright &copy; 2008 by <a href="http://www.phoronix-media.com/">Phoronix Media</a>.</div></div></div>
</body>
</html>

View File

@@ -8,7 +8,7 @@
<p>Phoromatic is a remote management system for the Phoronix Test Suite. Phoromatic allows the automatic (hence the name <em>Phoro-matic</em>) scheduling of tests, remote installation of new tests, and the management of multiple test systems all through an intuitive, easy-to-use web interface. Tests can be scheduled to automatically run on a routine basis across multiple test systems. The test results are then available from this central, secure location.</p>
<p>Phoromatic was originally introduced with Phoronix Test Suite 2.0 via Phoromatic.com as a project going back to 2008~2009. Phoromatic.com debuted as a hosted instance with the option of behind-the-firewall licensing for use within organizations. With Phoronix Test Suite 5.2 the model shifted to offer a local, open-source version of Phoromatic built into the Phoronix Test Suite code-base. Thanks to continued enterprise development, with Phoronix Test Suite 5.4 is now a fully-functioning, built-in version of Phoromatic that's open-source and can be used for behind-the-firewall testing without needing to push results to OpenBenchmarking.org and the ability to keep all results private.</p>
<p>Phoromatic in Phoronix Test Suite 5.4 also has the ability to support zero-conf network discovery using Avahi and the automatic distribution of needed test profiles/suites and test files. Phoronix Test Suite 5.4's Phoromatic is a significant breakthrough for open-source testing particularly those running this GPL benchmarking software within test labs and other large organizations.</p>
<h2>Features<h2>
<h2>Features</h2>
<p>Built atop the Phoronix Test Suite, Phoromatic offers many features for both enterprise and community/personal users:</p>
<h3>Automated Scheduling</h3>
<p>Whether it is every evening at 6:00PM, once every Thursday at 10:00AM or somewhere in between, Phoromatic can schedule tests to be run at user-defined intervals. The testing schedules can be updated through Phoromatic web interface. After the test(s) have run, the results will be immediately uploaded to Phoromatic.</p>

View File

@@ -0,0 +1,92 @@
# Phoronix Test Suite Phoromatic
## Phoromatic Server
### Introduction
Phoromatic is a remote management system for the Phoronix Test Suite. Phoromatic allows the automatic (hence the name *Phoro-matic* ) scheduling of tests, remote installation of new tests, and the management of multiple test systems all through an intuitive, easy-to-use web interface. Tests can be scheduled to automatically run on a routine basis across multiple test systems. The test results are then available from this central, secure location.
Phoromatic was originally introduced with Phoronix Test Suite 2.0 via Phoromatic.com as a project going back to 2008~2009. Phoromatic.com debuted as a hosted instance with the option of behind-the-firewall licensing for use within organizations. With Phoronix Test Suite 5.2 the model shifted to offer a local, open-source version of Phoromatic built into the Phoronix Test Suite code-base. Thanks to continued enterprise development, with Phoronix Test Suite 5.4 is now a fully-functioning, built-in version of Phoromatic that's open-source and can be used for behind-the-firewall testing without needing to push results to OpenBenchmarking.org and the ability to keep all results private.
Phoromatic in Phoronix Test Suite 5.4 also has the ability to support zero-conf network discovery using Avahi and the automatic distribution of needed test profiles/suites and test files. Phoronix Test Suite 5.4's Phoromatic is a significant breakthrough for open-source testing particularly those running this GPL benchmarking software within test labs and other large organizations.
### Features
Built atop the Phoronix Test Suite, Phoromatic offers many features for both enterprise and community/personal users:
#### Automated Scheduling
Whether it is every evening at 6:00PM, once every Thursday at 10:00AM or somewhere in between, Phoromatic can schedule tests to be run at user-defined intervals. The testing schedules can be updated through Phoromatic web interface. After the test(s) have run, the results will be immediately uploaded to Phoromatic.
#### Extensible
Any test profile or test suite that is compliant with the Phoronix Test Suite specification will work with Phoromatic. Phoromatic is able to leverage the hundreds of test profiles and test suites currently in the Phoronix Test Suite via OpenBenchmarking.org, along with any custom or proprietary test profiles you or your company utilize. Additionally, the Phoromatic interface allows the user to construct their own test suite(s).
#### Remote Testing
Once the test system is setup, all testing and management of that system can be done remotely. There is no need to execute Phoronix Test Suite commands locally using the GUI or command line version, but instead nearly all of the same features are accessible from the Phoromatic interface.
#### Multi-System Support
A single Phoromatic account is able to manage multiple test systems running the Phoronix Test Suite. Phoromatic supports grouping together test systems, tagging, and other features to support effectively managing many test systems. From the Phoromatic interface, installed system hardware and software from a given system can also be viewed.
#### Turn-Key Deployment
No additional software needs to be installed to support Phoromatic; all that's needed is Phoronix Test Suite 5.4 or later for full compatibility. New test systems can easily be synced with a given Phoromatic account by running a single command from the Phoronix Test Suite client.
#### Result Management
Test results are automatically uploaded to the Phoromatic account and remain private unless you opt to upload them to OpenBenchmarking.org. From the Phoromatic interface, results from multiple test systems can easily be compared and multiple results from the same systems can be used to track performance over time. There are also options to look at the statistical significance of the results and other features to efficiently and effectively analyze the system's performance.
#### Decentralized
Once the Phoronix Test Suite running on the Phoromatic Server has been able to cache all of the OpenBenchmarking.org test files and the needed files for each test, Phoromatic with any Phoronix Test Suite clients on your LAN can run fully decentralized without the need for a constant stream of OpenBenchmarking.org communication or Internet connection for that matter. (The only exception would be if your local systems don't have all their needed external dependencies and your system's package manager would need to install components like a compiler or necessary system libraries.
#### Fully Open-Source
Phoromatic is now fully open-source within the Phoronix Test Suite code-base for fostering greater development and new capabilities. Patches are welcome and Phoronix Media is available to provide commercial support and custom engineering services around Phoromatic and the Phoronix Test Suite.
### Phoromatic Server Setup
Phoromatic is built into the Phoronix Test Suite code-base and should be found in all packaged versions of the **phoronix-test-suite** . Starting the Phoromatic Server entails running phoronix-test-suite start-phoromatic-server after configuring the server information within *~/.phoronix-test-suite/user-config.xml* . The Phoromatic Server can with or without root permissions depending upon your firewall and the port numbers you wish to use for the server.
On the "client side", any up-to-date version of the Phoronix Test Suite can automatically communicate with the Phoromatic Server. If Avahi support is available (commonly in Linux distribution repositories as _avahi-tools_ ), there should be zero-conf discovery if the Phoromatic Server and client systems are on the same LAN. If a Phoronix Test Suite client discovers a Phoromatic Server, it will attempt to use it automatically as a local download cache. In the event of no Internet connection, it will also attempt to obtain the needed OpenBenchmarking.org test/suite meta-data from the Phoromatic Server based upon its archived meta-data. This allows the Phoronix Test Suite / Phoromatic deployment on the LAN to be self-sustaining without an Internet connection as long as the systems have all installed test dependencies.
Further configuration of the setup parameters for the Phoromatic Server and Phoronix Test Suite clients can be tuned via the *~/.phoronix-test-suite/user-config.xml* file. All control and configuration of the Phoromatic Server is done via the web-based interface when the Phoromatic Server is active.
The Phoromatic Server utilizes PHP/HHVM's built-in web-server capabilities and there's also a Phoronix Test Suite built-in WebSocket server that's also initiated for back-end processing. At this time there are no ports set by default for these services but must be defined within the user configuration file. With the Avahi zero-conf network discovery and other automated detection in place, there's little restrictions over the port selection.
Systemd and Upstart service files are shipped with the Phoronix Test Suite for those that wish to have the services automatically run as daemons. The only new requirements over the basic Phoronix Test Suite system requirements is having PHP-SQLite support installed and the newer version of PHP or HHVM is recommended for offering the best support.
### Example Deployments
#### Use Case A: Unrestricted Internet Access, Local Result Storage
Systems on your network with unrestricted Internet access is the easiest and simplest deployment for the Phoronix Test Suite and Phoromatic. After installing the Phoronix Test Suite on the system you wish to designate the Phoromatic Server and have configured the *user-config.xml* file, simply run:
**$ phoronix-test-suite start-phoromatic-server**
Assuming you have no firewall or permission issues, the built-in web server and WebSocket server should proceed to initiate along with outputting the IP/port information for these services. Unless otherwise disabled from the user configuration file and if avahi-tools is present, the Phoromatic Server will be advertised with Avahi for zero-configuration networking.
From the Phoromatic web interface you are able to create an account and from there proceed with the creating of test schedules, updating settings, and connecting systems. From the "client systems" you wish to use as the benchmarking nodes, it's simply a matter of running **phoronix-test-suite phoromatic.connect** with zero-conf networking or otherwise follow the information from the Phoromatic web interface for manual setup with the IP/port information.
#### Use Case B: No Internet Available To Client Systems
It's possible to run the Phoronix Test Suite and Phoromatic Server without a persistent Internet connection as long as you are able to first download the necessary files to the Phoromatic Server. After installing the Phoronix Test Suite on the system you wish to designate the Phoromatic Server and have configured the *user-config.xml* file, a few commands from the system while having an Internet connection will be able to cache the needed data:
**$ phoronix-test-suite make-download-cache x264 xonotic ffmpeg**
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**
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
If wishing to use the same Phoromatic Server across multiple geographic locations, it's easily possible -- you just lose out on the zero-conf networking ability. To let the Phoronix Test Suite client systems know about the remote Phoromatic Server, simply add the Phoromatic Server information to the client's *PhoromaticServers* element within the *user-config.xml* . Of course, make sure the Phoromatic Server has a globally resolvable IP address and its Phoromatic HTTP/WebSocket ports are open. Once informing the client of the Phoromatic Server, the use cases as above apply in the same manner.
### Client Setup
From Phoronix Test Suite client systems running on the LAN, the following command will report all available detected Phoromatic Servers along with important server and debugging information:
**$ phoronix-test-suite phoromatic.explore**
With the following example output on finding one successful server:
*IP: 192.168.1.211
HTTP PORT: 5447
WEBSOCKET PORT: 5427
SERVER: PHP 5.5.9-1ubuntu4.4 Development Server
PHORONIX TEST SUITE: Phoronix Test Suite v5.4.0m1 [5313]
DOWNLOAD CACHE: 19 FILES / 2390 MB CACHE SIZE
SUPPORTED OPENBENCHMARKING.ORG REPOSITORIES:
pts - Last Generated: 05 Oct 2014 07:16*
Phoromatic Servers are detected by the Phoronix Test Suite through Avahi or if manually configuring the Phoronix Test Suite clients to point to Phoromatic Servers. For networks without Avahi/auto-discovery support or for test systems that may be connecting from another network, the IP address and HTTP port number can be added to the local system's *~/.phoronix-test-suite/user-config.xml* with the *PhoromaticServers* element. Adding the *IP:port* (the Phoromatic Server's HTTP port) to the PhoromaticServers *user-config.xml* element for will perform targeted probing by the Phoronix Test Suite without any dependence on Avahi. Multiple Phoromatic Servers can be added if each IP:port is delimited by a comma.
To connect a Phoronix Test Suite system for benchmarking to an account, log into your Phoromatic account from the web-interface and on the main/system pages will be instructions along with a specially formed string to run, e.g. *phoronix-test-suite phoromatic.connect 192.168.1.211:5447/I0SSJY* . When running that command once on the system(s) to be synced to that account, as the administrator you'll be able to validate/approve the systems from the Phoromatic web interface. After that, whenever the system(s) are to be running benchmarks, simply have the **phoronix-test-suite phoromatic.connect** command running on the system (after the initial account has been synced, simply running **phoronix-test-suite phoromatic.connect** is enough for the system to find the server and its account).
### Root Administrator
The root administrator account is able to manage the server-level settings, e.g. Phoromatic storage location and other global settings related to the Phoronix Test Suite / Phoromatic Server, from the web user-interface.
To enable the root administrator log-in, first from the server's command-line interface run **phoronix-test-suite phoromatic.set-root-admin-password** to set the password. Following that, you can log into the root administrator account via the web interface via the *rootadmin* user-name and the set password.
### Other Advice
#### Disable Internet Precaution
If you have an Internet connection but want to ensure your Phoronix Test Suite client doesn't attempt to use it for any matter, via the *~/.phoronix-test-suite/user-config.xml* you can set *NoInternetCommunication* to *TRUE* . There's also a NoNetworkCommunication tag, but setting that to TRUE will disable any form of network communication -- including communication with the Phoromatic Server.
#### Ports / Services
The Phoromatic Server process currently relies upon a PHP/HHVM built-in web server process and a PTS-hosted WebSocket server. The web server process handles the web UI and much of the responsibilities of the Phoromatic Server. Over time the PTS WebSocket server will be increasingly utilized for bi-directional, real-time communication between the server and clients -- including for features like viewing real-time hardware sensors of client systems from the server UI.
#### Systemd / Upstart
Packaged with the Phoronix Test Suite are basic *phoromatic-client* and *phoromatic-server* configurations for both Upstart and systemd init systems. The *phoromatic-server* configuration will launch the Phoronix Test Suite's Phoromatic Server and the *phoromatic-client* service will attempt to connect to a _pre-configured_ Phoromatic Server. The systemd service files will automatically be installed via the Phoronix Test Suite *install-sh* process while the Upstart jobs can be copied from *deploy/phoromatic-upstart/** to */etc/init* .
#### Cache Verification
To confirm the files accessible to Phoronix Test Suite client systems, from the Phoromatic Server web user-interface go to the *settings* page followed by the *cache settings* link to view information about the download and OpenBenchmarking.org caches. From the client systems, running **phoronix-test-suite phoromatic.explore** will also supply cache statistics.
#### Log Files
The Phoromatic Server will produce a log file of events / debugging information to *~/.phoronix-test-suite/phoromatic.log* or */var/log/phoromatic.log* depending upon the service's permissions. When running the Phoronix Test Suite Phoromatic client, the log will be written to one of the respective locations in *phoronix-test-suite.log* .
#### Multi-User Accounts
For each time a user account is made from the Phoromatic web UI's log-in page, all of the test schedules, systems, and other account information is separate to allow for a completely isolated multi-user system. If a main administrator (the one creating the account) wishes to have multiple users sharing the same account data, that user can create additional accounts from the *Users* tab of their account. The main administrator can make an additional administrator account or a "viewer" account that can consume the account's data but not create/modify the schedules, systems, or other account details.
#### File Locations
When running the Phoronix Test Suite Phoromatic Server as root, rather than using the *~/.phoronix-test-suite/* directory, the standard Linux file-system hierarchy standard is honored. The main storage path is */var/lib/phoronix-test-suite/* , the user configuration file is */etc/phoronix-test-suite.xml* , and */var/cache/phoronix-test-suite/* for cache files.
#### Uploading Other Test Results
Unscheduled test results and other results found on connected systems to a Phoromatic account can upload the data to the Phoromatic Server using the *phoronix-test-suite phoromatic.upload-result <result file identifier >* sub-command.
#### User Context File Logging
For those utilizing custom set context script files as part of the Phoromatic test schedule, any important notes / log information can be written to the file specified by the *PHOROMATIC_LOG_FILE* environment variable set while running the user context scripts. The contents of that file is then sent to the Phoromatic Server otherwise the standard output of the script's execution is submitted to the Phoromatic Server for logging. These logs can then be viewed by the Phoromatic Server along with the test results. Other environment variables accessible when running a user context script include *PHOROMATIC_TRIGGER* , *PHOROMATIC_SCHEDULE_ID* , and *PHOROMATIC_SCHEDULE_PROCESS* .

View File

@@ -0,0 +1,27 @@
# Phoronix Test Suite On Windows
### Introduction
Phoronix Test Suite 8.0 features rewritten Windows support that is at a near feature parity to the program's long-standing support for Linux, macOS, BSD and Solaris operating systems. To make it abundantly clear, if you are using a Phoronix Test Suite version pre-8.0, you are best upgrading or ideally using Phoronix Test Suite Git as the Windows support remains in very active development at the moment as of early 2018.
The Phoronix Test Suite Windows support currently targets **Windows 10 x64** and **Windows Server 2016 x64** . Earlier versions of Windows, namely Windows Server 2012 and Windows 8, may work to some extent but some hardware/software reporting features and other capabilities may be missing or report warning messages. The Phoronix Test Suite Windows support is also exclusively focused on x86 64-bit support: the Phoronix Test Suite itself will run on x86 32-bit but many of the program dependencies are configured for making use of 64-bit binaries.
### Windows Setup / Dependencies
As with Phoronix Test Suite on Linux and other operating systems, the principal dependency is on PHP (PHP v5.3 or newer, including PHP 7.x). Running the *phoronix-test-suite.bat* file launcher for the Phoronix Test Suite on Windows will attempt to download and setup PHP on the system under *C:\PHP* as the default location should PHP support not be found within your system's *Program Files* directories. The PHP Windows build does depend upon Microsoft Visual C++ redistributable libraries, which the Windows launcher will also attempt to download and install if needed.
The Phoronix Test Suite on Windows does depend upon [Cygwin](https://www.cygwin.com/) for its Bash interpreter and other basic utilities to ease the process of porting test profiles to Windows with being able to use many of the same test installation scripts on Windows/Linux/macOS/BSD/Solaris then largely unmodified. Most of the Windows tests depend upon their respective native Windows applications/binaries while this Cygwin support is a convenience for handling these Bash setup scripts and also some test profiles that depend upon a GNU toolchain. The Phoronix Test Suite will attempt to download and setup Cygwin on the system if Cygwin isn't found in its default location of *C:\cygwin64* .
Various test profiles may depend upon other "external dependencies" like Python, PERL, Steam, and Java, as examples. The Phoronix Test Suite as with its support for other operating systems and Linux distributions will attempt to install these needed dependencies on a per-test basis when needed if existing support is not detected on the system.
### Running The Phoronix Test Suite On Windows
The Phoronix Test Suite can run from its local directory and does not need to be "installed" to a system path or any other "setup" process prior to execution. On a clean install of Windows 10 x64 or Windows Server 2016, deploying the Phoronix Test Suite is designed to be as easy and straight-forward as possible:
1. Download the Phoronix Test Suite 8.0+ or [Phoronix-Test-Suite from GitHub](https://github.com/phoronix-test-suite/phoronix-test-suite) ( [zip file](https://github.com/phoronix-test-suite/phoronix-test-suite/archive/master.zip) ).
2. From the Command Prompt or PowerShell, enter the *phoronix-test-suite* directory whether it be from Git or a zipped download.
3. Run the *phoronix-test-suite.bat* file that should proceed to run the Phoronix Test Suite just as you would on any other operating system. If needed the Phoronix Test Suite will try to initially download and setup PHP if needed followed by the attempted automatic Cygwin setup, etc.
4. Any of the Phoronix Test Suite commands from other operating systems should work on Windows. If you are new to the Phoronix Test Suite, you may enjoy a bit more guided experience by running the **phoronix-test-suite shell** command.
### Test Profiles On Windows
As of March 2018, around 50 of the test profiles are currently compatible with the Phoronix Test Suite on Windows. This includes many of the popular benchmarks and other interesting test cases. Over time more test profiles will continue to be ported to Windows where applicable and there are also some Windows-only tests also supported for execution by the Phoronix Test Suite.
### Getting Started
Besides **phoronix-test-suite shell** and **phoronix-test-suite help** , there is also **phoronix-test-suite interactive** for helping new users understand Phoronix Test Suite benchmarking. Long story short, it should be as easy as running **phoronix-test-suite benchmark c-ray** or **phoronix-test-suite benchmark crafty** as some examples for carrying out automated, cross-platform benchmarks in a side-by-side and fully-reproducible manner.
### Support
Community technical support is available via [GitHub](https://github.com/phoronix-test-suite/phoronix-test-suite/issues) or general inquiries via [the Phoronix Forums](https://www.phoronix.com/forums/forum/phoronix/phoronix-test-suite) . For enterprise inquiries, commercial support, and custom engineering services, [contact us](http://phoronix-test-suite.com/?k=commercial) .

View File

@@ -0,0 +1,27 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<Title>Phoronix Test Suite On Windows</Title>
</head>
<body>
<h2>Introduction</h2>
<p>Phoronix Test Suite 8.0 features rewritten Windows support that is at a near feature parity to the program's long-standing support for Linux, macOS, BSD and Solaris operating systems. To make it abundantly clear, if you are using a Phoronix Test Suite version pre-8.0, you are best upgrading or ideally using Phoronix Test Suite Git as the Windows support remains in very active development at the moment as of early 2018.</p>
<p>The Phoronix Test Suite Windows support currently targets <strong>Windows 10 x64</strong> and <strong>Windows Server 2016 x64</strong>. Earlier versions of Windows, namely Windows Server 2012 and Windows 8, may work to some extent but some hardware/software reporting features and other capabilities may be missing or report warning messages. The Phoronix Test Suite Windows support is also exclusively focused on x86 64-bit support: the Phoronix Test Suite itself will run on x86 32-bit but many of the program dependencies are configured for making use of 64-bit binaries.</p>
<h2>Windows Setup / Dependencies</h2>
<p>As with Phoronix Test Suite on Linux and other operating systems, the principal dependency is on PHP (PHP v5.3 or newer, including PHP 7.x). Running the <em>phoronix-test-suite.bat</em> file launcher for the Phoronix Test Suite on Windows will attempt to download and setup PHP on the system under <em>C:\PHP</em> as the default location should PHP support not be found within your system's <em>Program Files</em> directories. The PHP Windows build does depend upon Microsoft Visual C++ redistributable libraries, which the Windows launcher will also attempt to download and install if needed.</p>
<p>The Phoronix Test Suite on Windows does depend upon <a href="https://www.cygwin.com/">Cygwin</a> for its Bash interpreter and other basic utilities to ease the process of porting test profiles to Windows with being able to use many of the same test installation scripts on Windows/Linux/macOS/BSD/Solaris then largely unmodified. Most of the Windows tests depend upon their respective native Windows applications/binaries while this Cygwin support is a convenience for handling these Bash setup scripts and also some test profiles that depend upon a GNU toolchain. The Phoronix Test Suite will attempt to download and setup Cygwin on the system if Cygwin isn't found in its default location of <em>C:\cygwin64</em>.</p>
<p>Various test profiles may depend upon other &quot;external dependencies&quot; like Python, PERL, Steam, and Java, as examples. The Phoronix Test Suite as with its support for other operating systems and Linux distributions will attempt to install these needed dependencies on a per-test basis when needed if existing support is not detected on the system.</p>
<h2>Running The Phoronix Test Suite On Windows</h2>
<p>The Phoronix Test Suite can run from its local directory and does not need to be &quot;installed&quot; to a system path or any other &quot;setup&quot; process prior to execution. On a clean install of Windows 10 x64 or Windows Server 2016, deploying the Phoronix Test Suite is designed to be as easy and straight-forward as possible:</p>
<p>1. Download the Phoronix Test Suite 8.0+ or <a href="https://github.com/phoronix-test-suite/phoronix-test-suite">Phoronix-Test-Suite from GitHub</a> (<a href="https://github.com/phoronix-test-suite/phoronix-test-suite/archive/master.zip">zip file</a>).</p>
<p>2. From the Command Prompt or PowerShell, enter the <em>phoronix-test-suite</em> directory whether it be from Git or a zipped download.</p>
<p>3. Run the <em>phoronix-test-suite.bat</em> file that should proceed to run the Phoronix Test Suite just as you would on any other operating system. If needed the Phoronix Test Suite will try to initially download and setup PHP if needed followed by the attempted automatic Cygwin setup, etc.</p>
<p>4. Any of the Phoronix Test Suite commands from other operating systems should work on Windows. If you are new to the Phoronix Test Suite, you may enjoy a bit more guided experience by running the <strong>phoronix-test-suite shell</strong> command.</p>
<h2>Test Profiles On Windows</h2>
<p>As of March 2018, around 50 of the test profiles are currently compatible with the Phoronix Test Suite on Windows. This includes many of the popular benchmarks and other interesting test cases. Over time more test profiles will continue to be ported to Windows where applicable and there are also some Windows-only tests also supported for execution by the Phoronix Test Suite.</p>
<h2>Getting Started</h2>
<p>Besides <strong>phoronix-test-suite shell</strong> and <strong>phoronix-test-suite help</strong>, there is also <strong>phoronix-test-suite interactive</strong> for helping new users understand Phoronix Test Suite benchmarking. Long story short, it should be as easy as running <strong>phoronix-test-suite benchmark c-ray</strong> or <strong>phoronix-test-suite benchmark crafty</strong> as some examples for carrying out automated, cross-platform benchmarks in a side-by-side and fully-reproducible manner.</p>
<h2>Support</h2>
<p>Community technical support is available via <a href="https://github.com/phoronix-test-suite/phoronix-test-suite/issues">GitHub</a> or general inquiries via <a href="https://www.phoronix.com/forums/forum/phoronix/phoronix-test-suite">the Phoronix Forums</a>. For enterprise inquiries, commercial support, and custom engineering services, <a href="http://phoronix-test-suite.com/?k=commercial">contact us</a>.</p>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,791 @@
# Getting Started
## Overview
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.
## OpenBenchmarking.org
OpenBenchmarking.org is an open, collaborative testing platform that makes the Phoronix Test Suite an even more extensible platform for conducting automated tests with complete integration into Phoronix Test Suite test client. OpenBenchmarking.org serves as a repository for storing test profiles, test suites, and result data. Test profiles and suites are stored in the OpenBenchmarking.org cloud to allow for new/updated tests to be seamlessly obtained via the Phoronix Test Suite without needing to manually update the Phoronix Test Suite client. OpenBenchmarking.org also makes it easy to facilitate side-by-side comparisons with any other results stored in the OpenBenchmarking.org cloud. Any Phoronix Test Suite user is permitted to upload their test results, test profiles, and suites to OpenBenchmarking.org.
When finding a set of results on OpenBenchmarking.org (e.g. [an example result file](http://openbenchmarking.org/result/1203160-BY-NVTEGRA3785) ), it's as easy as running the Phoronix Test Suite with that OpenBenchmarking.org ID to perform an automated side-by-side comparison (e.g. *phoronix-test-suite benchmark 1203160-BY-NVTEGRA3785* ).
Thanks to the wealth of test data (results, system logs, etc) from crowd-sourced benchmarking via the Phoronix Test Suite, a plethora of analytical features are also available from OpenBenchmarking.org.
## Phoromatic
Phoromatic is a remote management system for the Phoronix Test Suite that allows the automatic scheduling of tests, remote installation of new tests, and the management of multiple test systems all through an intuitive, easy-to-use web interface. Tests can be scheduled to automatically run on a routine basis across multiple test systems. Phoromatic can also interface with revision control systems to offer support for issuing new tests on a context-basis, such as whenever a Git commit has been pushed or new daily image available. The test results are then available from this central, secure location.
Phoromatic is an add-on to the Phoronix Test Suite that's primarily intended for enterprise users when facilitating tests across a wide-spectrum of hardware within a test lab or when needing to carry out tests on a routine basis.
# User Options
The following options are currently supported by the Phoronix Test Suite client. A list of available options can also be found by running *phoronix-test-suite help.*
---
## 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 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] ...
This option will install the external dependencies needed by the selected test(s) using the distribution's package management system. For example, some tests depend upon GCC for compiling code. If GCC is not detected on the system, the Phoronix Test Suite will attempt to install GCC using the distribution's package management system. If you are running this command as a local user, you may be prompted for the root password while the process is running. For unsupported distributions, the dependency names will be displayed along with common names for the package. The install-dependencies option needs to be supplied with the test name or suite as an argument. When using the install option, the external dependencies are automatically checked.
#### make-download-cache
This option will create a download cache for use by the Phoronix Test Suite. The download cache is created of test files already downloaded to the local system. If passing any test/suite names to make-download-cache, the needed files for those test profiles will first be automatically downloaded before creating the cache.
#### remove-installed-test [Test]
This option will permanently remove a installed test by the Phoronix Test Suite.
## Testing
#### auto-compare
This option will autonomously determine the most relevant test(s) to run for any selected sub-system(s). The tests to run are determined via OpenBenchmarking.org integration with the global results pool. Related test results from OpenBenchmarking.org are also merged to provide a straight-forward and effective means of carrying out a system comparison. If wishing to find comparable results for any particular test profile(s), simply pass the test profile names as additional arguments to this command.
#### benchmark [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option will install the selected test(s) (if needed) and will proceed to run the test(s). This option is equivalent to running phoronix-test-suite with the install option followed by the run option. Multiple arguments can be supplied to run additional tests at the same time and save the results into one file.
#### estimate-run-time [Test | Suite | OpenBenchmarking ID | Test Result]
This option will provide estimates for test run-time / length.
#### finish-run [Test Result]
This option can be used if a test run had not properly finished running all tests within a saved results file. Using this option when specifying a saved results file where all tests had not completed will attempt to finish testing on the remaining tests where there are missing results.
#### run [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option will run the selected test(s).
#### run-random-tests
This option will query OpenBenchmarking.org to run random benchmarks and result comparisons on the system. This test can be used for simply supplying interesting results from your system onto OpenBenchmarking.org, stressing your system with random workloads, seeding new OpenBenchmarking.org results, etc. Basic options are provided at start-up for tuning the randomness of the testing when running this command.
#### run-tests-in-suite
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.
## Batch Testing
#### 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.
#### batch-install [Test | Suite | OpenBenchmarking ID | Test Result] ...
If you wish to run the install process in the Phoronix Test Suite batch mode but do not wish to run any tests at this time. Running the install process in the batch mode will use the default values and not prompt the user of any possible options, to ensure the process is fully automated.
#### batch-run [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option and its arguments are equivalent to the run option, but the process will be run in the Phoronix Test Suite batch mode.
#### batch-setup
This option is used to configure the batch mode options for the Phoronix Test Suite, which is subsequently written to the user configuration file. Among the options are whether to automatically upload the test results to OpenBenchmarking.org and prompting for the saved file name.
#### default-benchmark [Test | Suite | OpenBenchmarking ID | Test Result] ...
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.
## OpenBenchmarking.org
#### clone-result [OpenBenchmarking ID] ...
This option will download a local copy of a file that was saved to OpenBenchmarking.org, as long as a valid public ID is supplied.
#### list-recommended-tests
This option will list recommended test profiles for benchmarking sorted by hardware sub-system. The recommended tests are determined via querying OpenBenchmarking.org and determining the most popular tests for a given environment based upon the number of times a test profile has been downloaded, the number of test results available on OpenBenchmarking.org for a given test profile, the age of the test profile, and other weighted factors.
#### make-openbenchmarking-cache
This option will attempt to cache the test profile/suite meta-data from OpenBenchmarking.org for all linked repositories. This is useful if you're going to be running the Phoronix Test Suite / Phoromatic behind a firewall or without any Internet connection. Those with unrestricted Internet access or not utilizing a large local deployment of the Phoronix Test Suite / Phoromatic shouldn't need to run this command.
#### openbenchmarking-changes
This option will list recent changes to test profiles of enabled OpenBenchmarking.org repositories.
#### openbenchmarking-login
This option is used for controlling your Phoronix Test Suite client options for OpenBechmarking.org and syncing the client to your account.
#### openbenchmarking-refresh
This option is used for refreshing the stored OpenBenchmarking.org repostory information and other data. The Phoronix Test Suite will automatically refresh this data every three days or when other thresholds are exceeded, but this command can be used to manually refresh/updates the data.
#### openbenchmarking-repositories
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
This option can be used for uploading a test profile to your account on OpenBenchmarking.org. By uploading your test profile to OpenBenchmarking.org, others are then able to browse and access this test suite for easy distribution in a seamless manner by other Phoronix Test Suite clients.
#### 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.
## 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. 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
This option will list all suites that are currently installed on the system.
#### list-installed-tests
This option will list all test profiles that are currently installed on the system.
#### list-missing-dependencies
This option will list all of the packages / external test dependencies that are missing from the system that the Phoronix Test Suite may potentially need by select test profiles.
#### list-not-installed-tests
This option will list all test profiles that are supported and available but presently NOT installed on the system.
#### list-possible-dependencies
This option will list all of the packages / external test dependencies that are are potentially used by the Phoronix Test Suite.
#### list-saved-results
This option will list all of the saved test results found on the system.
#### list-test-usage
This option will list various details about installed tests and their usage.
#### list-unsupported-tests
This option will list all available test profiles that are available from the enabled OpenBenchmarking.org repositories but are NOT SUPPORTED on the given hardware/software platform. This is mainly a debugging option for those looking for test profiles to potentially port to new platforms, etc.
#### search
This option provides command-line searching abilities for test profiles / test suites / test results. The search query can be passed as a parameter otherwise the user is prompted to input their search query..
## Asset Creation
#### build-suite
This option will guide the user through the process of generating their own test suite, which they can then run. Optionally, passed as arguments can be the test(s) or suite(s) to add to the suite to be created, instead of being prompted through the process.
#### create-test-profile
This option can be used for creating a Phoronix Test Suite test profile by answering questions about the test for constructing the test profile XML meta-data and handling other boiler-plate basics for getting started in developing new tests.
#### debug-benchmark [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option is intended for use by test profile writers and is identical to the <em>run</em> option but will yield more information during the run process that can be used to debug issues with a test profile or to verify the test profile is functioning correctly.
#### debug-install [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option is intended for use by test profile writers and is identical to the install option but will yield more information during the run process that can be used to debug issues with a test profile installer or to verify the test profile is functioning correctly.
#### debug-result-parser [Test | Suite | OpenBenchmarking ID | Test Result] ...
This option is intended for use by test profile writers and is used for debugging a result parser. No test execution is done, but there must already be PTS-generated .log files present within the test's installation directory.
#### debug-test-download-links [Test | Suite | OpenBenchmarking ID | Test Result]
This option will check all download links within the specified test profile(s) to ensure there are no broken URLs.
#### download-test-files [Test | Suite | OpenBenchmarking ID | Test Result] ...
This will download the selected test file(s) to the Phoronix Test Suite download cache but will not install the tests.
#### inspect-test-profile [Test]
This option can be used for inspecting a Phoronix Test Suite test profile with providing inside details on test profiles for debugging / evaluation / learning purposes.
#### result-file-to-suite [Test Result]
This option will guide the user through the process of generating their own test suite, which they can then run, that is based upon an existing test results file.
#### validate-result-file
This option can be used for validating a Phoronix Test Suite result file as being compliant against the OpenBenchmarking.org specification.
#### validate-test-profile [Test]
This option can be used for validating a Phoronix Test Suite test profile as being compliant against the OpenBenchmarking.org specification.
#### validate-test-suite
This option can be used for validating a Phoronix Test Suite test suite as being compliant against the OpenBenchmarking.org specification.
## Result Management
#### analyze-all-runs [Test Result]
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.
#### 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]
This option will extract a single set of test results from a saved results file that contains multiple test results that have been merged. The user is the prompted to specify a new result file name and select which result identifier to extract.
#### merge-results [Test Result] ...
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.
#### 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-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]
This option will read a saved test results file and output the basic result information to JSON (JavaScript Object Notation).
#### result-file-to-pdf [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 PDF file.
#### result-file-to-text [Test Result]
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.
#### 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
#### commands
This option will display a short list of possible Phoronix Test Suite commands.
#### debug-dependency-handler
This option is used for testing the distribution-specific dependency handler for external dependencies.
#### debug-render-test
This option is used during the development of the Phoronix Test Suite software for testing of the result and graph rendering code-paths This option will download a large number of reference test results from LinuxBenchmarking.com.
#### debug-self-test
This option is used during the development of the Phoronix Test Suite software for testing of internal interfaces, commands, and other common code-paths. The produced numbers should only be comparable for the same version of the Phoronix Test Suite, on the same hardware/software system, conducted on the same day of testing. This isn't intended as any scientific benchmark but simply to stress common PHP code-paths and looking for hot areas to optimize, etc.
#### help
This option will display a list of available Phoronix Test Suite commands and possible parameter types.
#### version
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.
#### list-modules
This option will list all of the available Phoronix Test Suite modules on this system.
#### module-info [Phoronix Test Suite Module]
This option will show detailed information on a Phoronix Test Suite module such as the version, developer, and a description of its purpose.
#### module-setup [Phoronix Test Suite Module]
This option will allow you to configure all available end-user options for a Phoronix Test Suite module. These options are then stored within the user's configuration file. Not all modules may have options that can be configured by the end-user.
#### 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.
## User Configuration
#### enterprise-setup
This option can be run by enterprise users immediately after package installation or as part of an in-house setup script. Running this command will ensure the phoronix-test-suite program is never interrupted on new runs to accept user agreement changes and defaults the anonymous usage reporting to being disabled and other conservative defaults.
#### network-info
This option will print information detected by the Phoronix Test Suite around the system's network configuration.
#### network-setup
This option allows the user to configure how the Phoronix Test Suite connects to OpenBenchmarking.org and other web-services. Connecting through an HTTP proxy can be configured through this option.
#### user-config-reset
This option can be used for resetting the Phoronix Test Suite user configuration file to its default state.
#### 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.
# 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.*
---
### Backup Creation + Restore
This is a module for creating backups of the Phoronix Test Suite / Phoromatic and allows for restoring of created backups. The backup will be in ZIP or TAR format. If only a path is specified, the file-name will be auto-generated with a current time-stamp.
phoronix-test-suite backup.create
phoronix-test-suite backup.restore
### Dummy Module
This is a simple module intended for developers to just demonstrate some of the module functions.
phoronix-test-suite dummy_module.dummy-command
### Generate Perf FlameGraphs For Tests
Setting FLAME_GRAPH_PATH=<path to flamegraph path> will auto-load and enable this Phoronix Test Suite module. The module will generate a Linux perf FlameGraph for each test run during the benchmarking process. Details on FlameGraph @ https://github.com/brendangregg/FlameGraph
This module utilizes the following environmental variables: FLAME_GRAPH_PATH.
### Graphics Override
This module allows you to override some graphics rendering settings for the ATI and NVIDIA drivers while running the Phoronix Test Suite.
This module utilizes the following environmental variables: FORCE_AA, FORCE_AF.
### Result Exporter To HTML
This module allows basic exporting of results to HTML for saving either to a file locally (specified using the EXPORT_RESULTS_HTML_FILE_TO environment variable) or to a mail account (specified using the EXPORT_RESULTS_HTML_EMAIL_TO environment variable). EXPORT_RESULTS_HTML_EMAIL_TO supports multiple email addresses delimited by a comma.
This module utilizes the following environmental variables: EXPORT_RESULTS_HTML_EMAIL_TO, EXPORT_RESULTS_HTML_FILE_TO.
### Linux Perf Framework Reporter
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.
### 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.
### MATISK
My Automated Test Infrastructure Setup Kit
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..
phoronix-test-suite ob_auto_compare.debug
### Performance Per Dollar/Cost Calculator
Setting the COST_PERF_PER_DOLLAR= environment variable to whatever value of the system cost/component you are running a comparison on will yield extra graphs that calculate the performance-per-dollar based on the test being run. The COST_PERF_PER_DOLLAR environment variable is applied just to the current test run identifier. Set the COST_PERF_PER_UNIT= environment variable if wishing to use a metric besides dollar/cost. The COST_PERF_PER_HOUR value can be used rather than COST_PERF_PER_DOLLAR if wishing to calculate the e.g. cloud time or other compute time based on an hourly basis.
phoronix-test-suite perf_per_dollar.add
This module utilizes the following environmental variables: COST_PERF_PER_DOLLAR, COST_PERF_PER_UNIT, COST_PERF_PER_HOUR.
### Performance Tip Prompts
This module alerts the user if the system configuration may not be the right one for achieving the best performance with the target benchmark(s). This initial version of the module actually cares only about the BFQ I/O scheduler and powersave governor checks.
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
phoronix-test-suite phoromatic.explore
phoronix-test-suite phoromatic.upload-result
phoronix-test-suite phoromatic.set-root-admin-password
phoronix-test-suite phoromatic.list-results
phoronix-test-suite phoromatic.clone
phoronix-test-suite phoromatic.export-results-for-account-schedules
### Pushover.net
Submit notifications to your iOS/Android mobile devices of test results in real-time as push notifications, etc. Using the Pushover.net API.
This module utilizes the following environmental variables: PUSHOVER_NET_USER.
### Report Test Time Graphs
Setting the RUN_TIMES_ARE_A_BENCHMARK=1 environment variable will automatically create additional graphs for each test run plotting the run-time needed for each test being executed. Setting the INSTALL_TIMES_ARE_A_BENCHMARK=1 environment variable will automatically create additional graphs for each test run plotting the time required for the test installation. Setting the INSTALL_SIZES_ARE_A_BENCHMARK=1 environment variable will automatically create additional graphs for each test run plotting the size of the installed test directory.
This module utilizes the following environmental variables: RUN_TIMES_ARE_A_BENCHMARK, INSTALL_TIMES_ARE_A_BENCHMARK, INSTALL_SIZES_ARE_A_BENCHMARK.
### Result Notifier
A notification module.
### Custom Result Export Methods
A simple example module about interfacing with Phoronix Test Suite core for dumping result files in a custom format.
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.
### 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.
This module utilizes the following environmental variables: SCREENSHOT_INTERVAL.
### Toggle Screensaver
This module toggles the system's screensaver while the Phoronix Test Suite is running. At this time, the GNOME and KDE screensavers are supported.
This module utilizes the following environmental variables: HALT_SCREENSAVER.
### Update Checker
This module checks to see if the Phoronix Test Suite -- and its tests and suites -- are up to date.
### Utilize Wine On Linux Benchmarking
This module when activated via the USE_WINE environment variable on Linux systems will override the test profile OS target to Windows and attempt to run the (Windows) tests under Wine, if installed on the system. USE_WINE can be either set to the name of the desired wine command or the absolute path to the wine binary you wish to use for benchmarking.
This module utilizes the following environmental variables: USE_WINE.
### System Event Watchdog
This module has support for stopping/interrupting tests if various system issues occur, like a temperature sensor exceeds a defined threshold.
This module utilizes the following environmental variables: WATCHDOG_SENSOR, WATCHDOG_SENSOR_THRESHOLD.
# Installation Instructions
## Setup Overview
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.
## Dependencies
The only required dependency for the Phoronix Test Suite is PHP 5.3 or newer. On Linux distributions, the needed package is commonly called *php5-cli* or *php-cli* or *php7* or *php* . It is important to note that only PHP for the command-line is needed and not a web server (Apache) or other packages commonly associated with PHP and its usage by web-sites. The PHP5 version required is PHP 5.3+ and can also be found at [www.php.net](http://www.php.net/) . PHP 7 is fully supported by the Phoronix Test Suite as well as HHVM.
For installing PHP on Windows, the [Microsoft Web Platform Installer](https://www.microsoft.com/web/platform/phponwindows.aspx) provides an automated alternative that will install PHP into the directory expected by Phoronix Test Suite. Users opting to install PHP manually must extract the files to *C:\Program Files (x86)\PHP\* or a subdirectory.
As part of the PHP requirement, the following PHP extensions are required and/or highly recommended in order to take advantage of the Phoronix Test Suite capabilities:
+
+ PHP DOM is needed for XML operations and must be installed for the Phoronix Test Suite to function.
+
+ PHP ZIP is needed for file compression and decompression and specifically dealing with test profiles and suites obtained via OpenBenchmarking.org or when uploading such tests and suites.
+
+ PHP OpenSSL is used for enabling HTTPS communication with Phoronix Test Suite / OpenBenchmarking.org servers.
+
+ PHP GD is highly recommended for rendering of test data to JPEG and PNG image formats and is selectively used in other image operations.
+
+ PHP Zlib is highly recommended for greater data compression when dealing with remote OpenBenchmarking.org assets.
+
+ PHP PCNTL is used for multi-threaded system sensor monitoring support during the testing process and other threaded tasks by the Phoronix Test Suite module framework.
+
+ PHP POSIX is used for reliably obtaining more system information in an efficient manner.
+
+ PHP CURL is supported as an alternative networking library for improved network performance in downloading test files and other operations.
+
+ PHP FPDF is used to generate PDF reports of test data.
+
Without all of these extensions, some capabilities of the Phoronix Test Suite will not be available. Many of these packages are enabled by default and do not require any additional installation steps on most Linux distributions, otherwise they are often found in the package vendor's repository.
## Notes
### General
You may need to modify the *php.ini* file on your system in order to support uploading results to OpenBenchmarking.org or logging into your OpenBenchmarking.org account. The *allow_url_fopen* , *file_uploads* , and *allow_url_include* options must be set to true in the PHP configuration. See additional information in this [Phoronix Forums support thread](http://www.phoronix.com/forums/showpost.php?p=32484&postcount=4) .
Major updates to the Phoronix Test Suite are released on a quarterly basis. The latest stable and development versions of the Phoronix Test Suite are available at [Phoronix-Test-Suite.com](http://www.phoronix-test-suite.com/) . The Git repository where the latest Phoronix Test Suite code is provided is hosted at [GitHub.com/phoronix-test-suite](https://github.com/phoronix-test-suite/phoronix-test-suite) and can be cloned/pulled from the *https://github.com/phoronix-test-suite/phoronix-test-suite.git* repository location. The latest upstream development code is housed in the master tree while older Phoronix Test Suite releases are available in their respective Git branches based upon the release's code-name.
If building the PHP package from upstream sources, it should just be a matter of running *./configure* with the *--enable-zip* flag (all other requirements should be apart of the stock PHP configuration) to satisfy the PHP needs of the Phoronix Test Suite.
### File Structure
If manually changing the location of the *phoronix-test-suite* launcher file, the *PTS_USER_PATH* environment variable must be adjusted inside the file to reflect the absolute location that leads to the root directory of the *pts* and *pts-core* folders. The *pts-core* directory contains the "engine" of the Phoronix Test Suite.
### Running Locally
The Phoronix Test Suite can be simply extracted from the downloaded *.tar.gz* or *.zip* file or it can also be installed system-wide. If you just wish to run the Phoronix Test Suite without installing it, open a terminal and run *./phoronix-test-suite <options>* from the same directory.
### Generic Installation
Running *install-sh* from the root directory of the Phoronix Test Suite will install the software for system-wide access. By default the *phoronix-test-suite* executable is in */usr/bin/* , the Phoronix Test Suite files in */usr/share/phoronix-test-suite/* , and the documentation in / *usr/share/doc/phoronix-test-suite/* . Root access is required. The default installation prefix is /usr/ but can be adjusted as the first argument (example: *install-sh /home/user/* to install the Phoronix Test Suite in your home directory).
### 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/* .
### 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. 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) .
### Mandriva Installation
Phoronix Test Suite packages are available through Mandriva Cooker starting with the Mandriva Linux 2009 release.
### OpenSolaris Installation
The Phoronix Test Suite core (pts-core) is supported on Solaris and OpenSolaris platforms, but some features may not fully function. Additionally, the PTS External Dependencies feature is supported on OpenSolaris using IPS (the Image Packaging System). However, not all test profiles are supported on Solaris / OpenSolaris, and it may be in violation of your end-user agreement to perform such benchmarks on the Sun Solaris operating system. Using the OpenSolaris Image Packaging System, installing *SUNWphp524* will provide PHP, PHP GD, and related dependencies. The Phoronix Test Suite has also been tested on Oracle Solaris 11 Express, OpenIndiana, StormOS, and Nexenta Core Platform.
### BSD Installation
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.
### 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.
At this time the Phoronix Test Suite client is dependent upon the *php.exe* executable being installed to *C:\Program Files (x86)\PHP\ * 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 *phoronix-test-suite.bat*
NOTE: because of lack of external dependencies support, it is necessary to manually download and install the files for some test profiles, such as the Unigine graphics benchmarks. See Troubleshooting for more information.
### Facebook HipHop
The Phoronix Test Suite can use Facebook's [HipHop HHVM](https://github.com/facebook/hiphop-php) virtual machine as an alternative to the de facto PHP implementation. The Phoronix Test Suite has been tested against HHVM 2.0. If HHVM is present on the system but not PHP, it will automatically be used by the Phoronix Test Suite. Alternatively, the *PHP_BIN* environment variable can be set to point to an alternative *hhvm* binary.
The Phoronix Test Suite also supports the older version of Facebook HipHop that serves as a PHP to C++ translator and compiler with GCC. This support though is primitive and not officially supported. To compile the Phoronix Test Suite using HipHop/GCC, run *find . -name "*.php" > files.list && hphp --input-list=files.list -k 1 --log=3 --include-path="." --cluster-count=50 -v "AllDynamic=true" -v "AllVolatile=true"* from the root *phoronix-test-suite/* directory. It can then be executed in the form of */tmp/hphp_XXX/program -f pts-core/phoronix-test-suite.php system-info* .
# External Dependencies
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.
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.
---
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
**~/.phoronix-test-suite/user-config.xml**
This is a per-user configuration file. Among the information stored here is the test options, locations for storing files, and batch mode options. This file is formatted in XML.
**~/.phoronix-test-suite/graph-config.json**
This is a per-user configuration file for storing graph attributes. The adjustable options include HTML hex color codes for different areas of the graph, dimensions of the graph, and font sizes. This file is formatted in JSON.
**~/.phoronix-test-suite/download-cache/**
This directory contains test packages that have been downloaded for test profiles. For more information on the download cache.
**~/.phoronix-test-suite/installed-tests/**
This directory is where tests are installed by default. Each test has its own directory within a sub-directory of *installed-tests/* based upon its OpenBenchmarking.org repository. In the test's folder is a *pts-install.xml* file used for managing the installation.
**~/.phoronix-test-suite/test-results/**
This directory is where tests results are saved by default. Each saved file has its own directory. In the saved directory is then a *composite.xml* file containing the useful results while in the *test-X.xml* files are back-ups of the results.
**~/.phoronix-test-suite/modules-data/**
This is the directory where any Phoronix Test Suite modules should save any files to, within a sub-directory of the module's name. The module configuration settings are also stored within this directory.
**~/.phoronix-test-suite/test-profiles/**
This is the directory where test profiles are stored.
**~/.phoronix-test-suite/test-suites/**
This is the directory where test suites are stored.
## Environment Variables
**TEST_RESULTS_NAME**
When this variable is set, the value will be used as the name for automatically saving the test results.
**TEST_RESULTS_IDENTIFIER**
When this variable is set, the value will be used as the test identifier when automatically saving the test results.
**TEST_RESULTS_DESCRIPTION**
When this variable is set, the value will be used as the test results description when saving the test results.
**PRESET_OPTIONS**
For setting any test option(s) from an environment variable rather than being prompted for the options when running a test. Example: *PRESET_OPTIONS="stream.run-type=Add" ./phoronix-test-suite benchmark stream* . Multiple options can be passed to this environment variable when delimited by a semicolon.
**SKIP_TESTS**
If there are any test(s) to exempt from the testing process, specify them in this variable. Multiple tests can be waived by delimiting each test identifier by a comma. A test hardware type (i.e. Graphics) can also be supplied for skipping a range of tests.
**SKIP_TESTS_HAVING_ARGS**
If any of the test(s) have an argument matching any strings contained in this environment variable, the test execution will be skipped. Multiple strings can be set when delimiting by a comma.
**RUN_TESTS_IN_RANDOM_ORDER**
Setting this environment variable will cause the tests to be run in a random order.
**SKIP_TESTING_SUBSYSTEMS**
If you are running a set of benchmarks (namely a result file) but wish to skip some of the tests that don't belong to a certain test type group, you can set the hardware types to test via this environment variable. E.g. setting *SKIP_TESTING_SUBSYSTEMS=Graphics* will skip all test profiles to run that are not of the graphics test group. Multiple types should be delimited by a comma.
**PTS_MODULE_SETUP**
This variable can be used to load Phoronix Test Suite module settings automatically when using the *module-setup* option. An example would be: *PTS_MODULE_SETUP="phoromatic.remote_host=http://www.phoromatic.com/; phoromatic.remote_account=123456; phoromatic.remote_verifier=ABCD" phoronix-test-suite module-setup phoromatic* .
**PTS_MODULES**
If there are any Phoronix Test Suite modules to additionally load, they can be specified here. Multiple modules can be supplied by delimiting them with a comma. The more appropriate way of loading Phoronix Test Suite modules for longer periods of time is by using the *~/.phoronix-test-suite/user-config.xml* configuration.
**NO_PHODEVI_CACHE**
This is a debugging option to disable the Phodevi cache from being loaded of cached software/hardware information. Instead, all software/hardware will be polled from the Phodevi library without caching.
**EXTERNAL_PHODEVI_CACHE**
This option can be used for loading an external Phodevi cache. Such as loading the native hardware/software information from within a Windows Wine client from a native system host.
**PTS_DISPLAY_MODE**
If you wish to load a non-default display mode for a single instance, specify the mode in this variable.
**TOTAL_LOOP_TIME**
When running any test(s), if you would like the test(s) to continue running as a loop until a certain time has been reached, this variable can be used. The value should be the number of minutes to run the testing process before the loop is ended. The testing will finish whenever the currently active test has finished once the time has elapsed. The minimum value allowed is 10 minutes.
**LIMIT_ELAPSED_TEST_TIME**
If you want to ensure that the time for a given Phoronix Test Suite process doesn't elapse past a certain number of minutes, specify the number of minutes for this environment variable. When the amount of time spent testing exceeds that amount, the testing will end prematurely while still saving the tests that were completed in time.
**TOTAL_LOOP_COUNT**
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_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.
**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**
Set this environment variable to 1 if you don't wish to use HTTPS download links for test profiles (or the system/network lacks HTTPS support). When enabled, HTTPS links will then be done over HTTP.
**PTS_DOWNLOAD_CACHE**
While non-standard Phoronix Test Suite download caches can be specified within the *user-config.xml* file, an additional directory to look for potential Phoronix Test Suite download files can be specified by this variable.
**GRAPH_HIGHLIGHT**
If this variable is set with a valid test identifer from a result file whether you are using the *refresh-graphs* command or any other related to the rendering of test results on a bar graph, the specified test identifier's result will be rendered in a different color than the other test results. Multiple identifiers can be specified when delimited by a comma. Additionally, for each key it is possible to provide the actual color value, or an index in the color palette. Example: "will_be_different,group1a=1,group1b=1,blue=#0000ff"
**TEST_EXEC_PREPEND**
Set this variable to any command/environment variable that you may be passed prepended to the test execution string at runtime.
**VIDEO_MEMORY**
If Phodevi fails to detect the system's video memory capacity or is incorrectly detected, the video memory capacity (in MB) can be specified by this variable.
**OVERRIDE_VIDEO_MODES**
If Phodevi fails to detect all of the system's monitor video modes or a separate set of modes would be preferred, the modes can be specified in this variable. Example: *OVERRIDE_VIDEO_MODES=800x600,1024x768,1280x1024 phoronix-test-suite benchmark nexuiz* .
**SKIP_TEST_SUPPORT_CHECKS**
If this environment variable is set, it will not honor the support checks made by individual test profiles. I.e. test profiles that would normally be considered un-supported on a given platform are attempted to install and run regardless.
**SKIP_ALL_TEST_SUPPORT_CHECKS**
If this environment variable is set, all tests will be permitted on the client for execution. SKIP_ALL_TEST_SUPPORT_CHECKS is more liberal than SKIP_TEST_SUPPORT_CHECKS in letting disk tests run on RAM-based file-systems, attempt to run 2D/3D tests on VESA display drivers, and other special cases.
**DEFAULT_VIDEO_MODE**
If Phodevi fails to detect the system's monitor standard / default resolution, the mode can be specified in this variable. Example: *DEFAULT_VIDEO_MODE=1680x1050 phoronix-test-suite benchmark nexuiz* .
**SKIP_EXTERNAL_DEPENDENCIES**
To skip the Phoronix Test Suite external dependency checking/installation when installing a test, set this environment variable to *1* . If wishing to skip only certain external dependencies, set this variable's value to the name of the external dependencies (the generic dependency names used by the Phoronix Test Suite) to not install. Multiple dependencies to skip can be delimited by a comma.
# General Information
## Frequently Asked Questions
**Q: May I use the Phoronix Test Suite when running benchmarks for my own publication or blog? Are there any publishing restrictions?**
**A:** Anyone is more than welcome to use the Phoronix Test Suite for their own publication or purpose. While the Phoronix Test Suite came out of our internal test tools for carrying out Linux hardware reviews at [Phoronix.com](http://www.phoronix.com/) , we invite other hardware review web-sites, technology journals, and independent publications to use our software too. While not required, we would just kindly ask that you mention in your review/article that the *Phoronix Test Suite* was used for carrying out your testing, and ideally to link to [www.phoronix-test-suite.com](http://www.phoronix-test-suite.com/) so that your readers will know where to obtain the software if they are interested in running the tests. You are also more than welcome to upload your results to [OpenBenchmarking.org](http://www.openbenchmarking.org/) so that others may compare their results against yours in an easy manner.
We also try to make the Phoronix Test Suite easy-to-use by independent publications. For example, if you would like to watermark your web-site's URL into the graphs containing your test results, that can be easily modified in *~/.phoronix-test-suite/graph-config.json* . The colors and other graph settings are also stored in this XML file. If you are a publication and run into any issues with the Phoronix Test Suite or have a feature request, please let us know.
A partial list of other publications using the Phoronix Test Suite can be found in [this forum thread](http://www.phoronix.com/forums/showthread.php?t=12925) .
**Q: Why does the Phoronix Test Suite not use my distribution's package management system for acquiring all needed packages?**
**A:** The tests themselves are generally downloaded from source and built locally on the machine, rather than fetching any distribution-specific packages. This is done to ensure more comparable results across operating systems / releases, etc. The distribution packager could be applying a number of unknown patches to the software, building the software with unique build options, or making other changes to the software that could skew the results.
**Q: Besides being a developer, documentation writer, or having any other unique technical abilities, how else can I contribute to the Phoronix Test Suite?**
**A:** Independent code contributions are very welcome as well as creating your own test profiles and suites. We also appreciate any feedback, comments, or other ideas either by emailing us, posting on the forums, or sending a message to the mailing list. You can also see this (outdated) [forum thread](http://www.phoronix.com/forums/showthread.php?t=16180) .
**Q: Do you offer technical support for the Phoronix Test Suite**
**A:** Paid, professional support is available and is done via [our commercial services](http://commercial.phoronix-test-suite.com/) . We also offer Phoromatic licenses for use within a corporate intranet and other custom services. Free, community support is offered via our [mailing list](http://phoronix-test-suite.com/mailman/listinfo/trondheim-pts_phoronix-test-suite.com) , IRC channel ( *#phoronix* on *FreeNode.net* , and the [Phoronix Forums](http://www.phoronix.com/forums/) .
**Q: May I put the Phoronix Test Suite logo on my company's web-site or on my product packaging?**
**A:** [Contact us](http://www.phoronix-test-suite.com/?k=contact) for licensing information and details regarding the Phoronix Certification & Qualification Suite.
**Q: How often is the Phoronix Test Suite updated?**
**A:** We provide major updates on a quarterly basis with an occasional point release to fix outstanding bugs or address other issues. The latest work going into the Phoronix Test Suite is accessible via our Git repository at [GitHub.com/phoronix-test-suite](https://github.com/phoronix-test-suite/phoronix-test-suite/) .
## Tips & Tricks
### General
- The desktop's screensaver will automatically be shutdown when a test is running and will be restored to its previous state upon the test's completion. This is supported for GNOME, KDE, and other XDG-supportive desktop environments.
- If you have many computers you wish to benchmark, once all of your tests have been downloaded, run *phoronix-test-suite make-download-cache* to generate a copy of these files at *~/.phoronix-test-suite/download-cache/* . A download cache is used for conserving time and bandwidth by eliminating the need for the Phoronix Test Suite to download files that have already been downloaded once. Copy this folder to the other systems or copy it to a DVD or USB hard drive, connect it to the next test system, and the Phoronix Test Suite will automatically use this local download cache. Or store these files on a local HTTP/FTP server and then update your *~/.phoronix-test-suite/user-config.xml* file to reflect the location of this download cache directory.
### Running
- When running a test in batch mode (through the use of the *batch-run* or *batch-benchmark* options) that normally has end-user options (such as the sub-test to run or resolution), the Phoronix Test Suite will run the test with each unique combination of options possible, if configured appropriately.
- When running a test where you are prompted to enter any test options, multiple selections can be performed -- which will result in multiple test runs for each combination of the selected option(s) -- by separating each intended test option / number with a comma.
- When being prompted for the test identifier or the file name for saving the results, several user variables are supported. These include *$VIDEO_RESOLUTION* , *$VIDEO_CARD* , *$OPERATING_SYSTEM* , *$PROCESSOR* , *$MOTHERBOARD* , *$CHIPSET* , and *$KERNEL_VERSION* . If any of these variables are entered, the Phoronix Test Suite will replace them with their respective values before saving the results.
- If *RemoveDownloadFiles* is set to *TRUE* within the *user-config.xml* file, once a test has been installed the originally downloaded files for that test will be automatically removed. This conserves disk space but will cause these files to be re-downloaded the next time the test needs to be re-installed. This will also not back up the downloaded files to the Phoronix Test Suite download cache. Enabling this option is just recommended for users with very limited disk space.
- If the amount of video memory for your graphics card is incorrectly reported by the Phoronix Test Suite (you can check by running *phoronix-test-suite diagnostics* ), you can use the *VIDEO_MEMORY=* environment variable for overriding the video memory capacity (in Megabytes) used by the Phoronix Test Suite.
- If the *DISPLAY* environment variable is not set or *NO_GRAPHICS_TESTS* environment variable is set, tests of type *Graphics* will not be run. Likewise, if *NO_SYSTEM_TESTS* environment variable is set, tests of type *System* will not run. This applies to all test types where *NO_<TEST TYPE>_TESTS* is set.
- If while running multiple tests you want to quit the testing prematurely, in a new terminal window type *touch ~/.phoronix-test-suite/halt-testing* . All results for tests that had already run will be saved (permitting you opted to save the results), except for the test currently being run.
- If you wish to stop the current test run prematurely but continue the testing process, in a new terminal window type *touch ~/.phoronix-test-suite/skip-test* .
- If you want the specified test(s) to run in a loop for a set period of time, use the *TOTAL_LOOP_TIME* environment variable. For instance, running *TOTAL_LOOP_TIME=120 phoronix-test-suite benchmark ffmpeg* would keep running the ffmpeg test profile for 120 minutes.
- If you want the specified test(s) to run in a loop for a set number of times, use the *TOTAL_LOOP_COUNT* environment variable. For instance, running *TOTAL_LOOP_COUNT=3 phoronix-test-suite benchmark ffmpeg* would keep running the ffmpeg test profile three times.
- When any tests are being installed and when tests are being run, a lock is created in the system's temporary directory with the name *phoronix-test-suite.active* (i.e. */tmp/phoronix-test-suite.active* ) and is removed upon completion. Thus if you have any system scripts that you wish to run when tests are not running or being installed as to not impact the results, one simple way to handle this is by having the script check for the existence of this lock.
### Troubleshooting
In the event that a test profile fails to install or run, the following general troubleshooting steps may be helpful:- If a test profile fails immediately after starting, check the test profile's directory in *~/.phoronix-test-suite/installed-tests/* to confirm that the needed files are present. On platforms without External Dependencies support (Windows), it may be necessary to download the files manually and place them in this directory. If this is the case, you will notice that the "Downloading" phase of test installation completes instantly.
- Inspect the scripts inside the above test profile's directory and confirm that directories or search paths for the test correspond to those on your system
- Try running the test profile with the *debug-benchmark* command, or reinstalling with the *debug-install* command and make note of any unusual output.
### Configuration
- The user configuration options for the Phoronix Test Suite are stored in *~/.phoronix-test-suite/user-config.xml* . The batch mode options are also stored within this file and those can be adjusted by running *phoronix-test-suite batch-setup* .
- The colors, size, and other attributes for the graphs found within the Phoronix Test Suite Results Viewer can be modified via the file *~/.phoronix-test-suite/graph-config.json* .
### Test / Suite Writing
- The Phoronix Test Suite recursively determines tests/suites and allows a suite to call another suite.
### Module Writing
- By writing a Phoronix Test Suite module, you can easily extend the functionality of the Phoronix Test Suite. Some examples are being able to email the results upon completion, controlling the system's screensaver, updating a text LCD panel with the current test status, etc.
# Virtual Test Suites
Virtual test suites are not like a traditional test suite defined by the XML suite specification. Virtual test suites are dynamically generated in real-time by the Phoronix Test Suite client based upon the specified test critera. Virtual test suites can automatically consist of all test profiles that are compatible with a particular operating system or test profiles that meet other critera. When running a virtual suite, the OpenBenchmarking.org repository of the test profiles to use for generating the dynamic suite must be prefixed.
Virtual test suites can be installed and run just like a normal XML test suite and shares nearly all of the same capabilities. However, when running a virtual suite, the user will be prompted to input any user-configuration options for needed test profiles just as they would need to do if running the test individually. When running a virtual suite, the user also has the ability to select individual tests within the suite to run or to run all of the contained test profiles. Virtual test suites are also only supported for an OpenBenchmarking.org repository if there is no test profile or test suite of the same name in the repository. Below is a list of common virtual test suites for the main Phoronix Test Suite repository, but the dynamic list of available virtual test suites based upon the enabled repositories is available by running *phoronix-test-suite list-available-virtual-suites.*
---
#### All PTS Tests pts/all
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.
#### 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
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 pts/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 pts/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 pts/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 pts/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 pts/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 pts/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.
#### Graphics Subsystem Tests pts/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.
#### Other Subsystem Tests pts/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 pts/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 pts/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 pts/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 pts/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 pts/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 pts/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 pts/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.
#### 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.
#### 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
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 video.
#### Responsiveness Tests pts/responsiveness
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 responsiveness.
#### Openmpi Tests pts/openmpi
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 openmpi.
#### All SYSTEM Tests system/all
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.
#### 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
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 system/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 system/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 system/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 system/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 system/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 system/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 system/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 system/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 system/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 system/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 system/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 system/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 system/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 system/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 system/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 system/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 system/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.
#### Opencl Tests system/opencl
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.
# Component Testing
## Compiler Testing & Masking
A majority of the test profiles provided by OpenBenchmarking.org to the Phoronix Test Suite are source-based tests. Relying upon the upstream source-code for each program under test allows for the tests to be easily brought to new platforms and architectures, avoids any out-of-tree / non-default packaging differences by different distributions and operating systems, and to allow the Phoronix Test Suite user to easily test new compilers and/or compiler options. For the source-based tests, the Phoronix Test Suite relies upon a compiler (e.g. GCC, LLVM/Clang, Sun Studio, Open64, et al) being present on the system under test. The Phoronix Test Suite does respect *CC/CXX* environment variables and test profiles are expected to honor *CFLAGS/CXXFLAGS* and other compiler settings.
As of Phoronix Test Suite 3.8, a compiler masking method is utilized for logging compiler options and other settings with each test profile installation. Prior to installing an open-source test, the Phoronix Test Suite determines the intended compiler to be used based upon the pre-set environment variables or the pre-set compiler(s) within the *PATH* environment variable. The Phoronix Test Suite then masks the compiler to ensure that any options/flags submitted to the compiler are first passed through pts-core so that they can be logged for later use, then is linked to the original, intended compiler. Additionally, other compiler binary names of the same type are blacklisted to prevent their un-intended use (i.e. if a test profile has hard-coded *gcc* in its build script, but *clang* is set as the compiler via *CC* , a sym-link will automatically be created from *gcc* to the masked *clang* for the duration of its test installation).
The logged compiler data is then used by the Phoronix Test Suite following the test execution process for automated result analysis. If there is a detected change in compiler settings, the differences are automatically reported to the test result graphs. Additionally, key compiler information (e.g. the compiler optimization level and key libraries that were linked at compile-time) is reported as a footnote on result graphs. The Phoronix Test Suite handles all of this in a fully automated manner; test profiles require no changes to take advantage of these compiler-reporting capabilities.
Separately, the Phoronix Test Suite attempts to automatically log the system compiler's build configuration (i.e. GCC's *gcc -v* "Configured with") output. If the Phoronix Test Suite detects there is a compiler build configuration change between test runs in a result file, it will report each compiler's build configuration to the system information table within the results viewer. Reported to the table is a reduced view of the build configuration options, with less relevant items being stripped away from this view to reduce verbosity. Upon clicking the text, the raw compiler information output can be viewed in full.
## Disk / File-System Testing
By default tests are installed to *~/.phoronix-test-suite/installed-tests/* . However, the location can be updated from *~/.phoronix-test-suite/user-config.xml* or dynamically via the *PTS_TEST_INSTALL_ROOT_PATH* environment variable.
When any disk tests are executed, the Phoronix Test Suite will attempt to log the mount options and scheduler of the disk/partition being used for testing. This information is subsequently displayed within the system information table. If the scheduler / mount options are maintained the same throughout all test runs, only a single line is displayed otherwise the options for each test run will be automatically displayed. The file-system in use is always captured and shown in the system information table.
# Phoromatic
## Overview
The Phoronix Test Suite now features its own built-in Phoromatic server and client implementations. See the *phoromatic.pdf* / *phoromatic.html* documentation for more information on this advanced capability.
# Creating Test Profiles
## Creating A New Phoronix Test Suite / OpenBenchmarking.org Test Profile
A test profile itself consists of a main XML file containing the test's meta-data ( *test-definition.xml* ), an XML file if needed to specify required files, download URLs and their MD5/SHA256 hashes and file sizes ( *downloads.xml* ), and the *install.sh* script for installing the test and generating the run-script for execution by the Phoronix Test Suite at run-time. There are also other potential files like *pre.sh* , *interim.sh* , and *post.sh* for execution at pre-run, interim-run, and post-run stages by the Phoronix Test Suite. With the script files comprising test profiles, there is also the option of post-fixing them with e.g. *_linux* or *_windows* if wishing to supply different script files based upon the operating system being run during testing, if the setup steps may differ greatly based upon MacOS/Windows/Linux/BSD/Solaris platforms.
Traditionally the easiest way to learn/understand test profile development has been by looking at looking at a basic test like *c-ray* , *tesseract* or the hundreds of others that are publicly available. Simply run for example *phoronix-test-suite benchmark tesseract* and then look at the test profile's contents either via the default locations in *~/.phoronix-test-suite/test-profiles* or */var/lib/phoronix-test-suite/test-profiles/* if running as root on non-Windows platforms.
### Versioning Mandate
The Phoronix Test Suite / OpenBenchmarking.org philosophy *mandates that with any change, a new version of the test profile be tagged* . This is done for reproducibility and being able to ensure the exact test profile state when a set of tests are conducted. Test profiles are versioned in a **test-X.Y.Z** format where *X* or *Y* are bumped whenever a change is made to the test profile that makes the results incomparable to a previous version of the tests (e.g. updating against a new upstream code-base, adjusting the parameters to what is benchmarked, etc). The Phoronix Test Suite then knows not to attempt any comparisons with an incompatible version difference or to go and fetch that specific version of the package. The *Z* is bumped when just making non-important changes such as just updating the test's meta-data, changing download URLs, etc. This is easy to enforce with the OpenBenchmarking.org infrastructure rather than having to worry about non-human-friendly Git hashes as test profile versions or having to create Git tags after every commit. The test profile version can optionally be specified when running a test, e.g. *phoronix-test-suite benchmark scimark2-1.2.1* instead of *phoronix-test-suite benchmark scimark2* , which would by default choose the latest available test profile version from OpenBenchmarking.org or the latest version on any local Phoromatic Server. The test profile versions are also always written out as part of the Phoronix Test Suite result XML data.
### Writing A Sample Program
Writing a test profile for the Phoronix Test Suite is a relatively quick and easy process for anyone familiar with common Linux commands and the basics of XML. To help you understand the design of the Phoronix Test Suite, this guide covers the steps needed to write a testing profile for a very simple application.
The first step in the profile writing process is to, well, have a piece of software you'd like to use with the Phoronix Test Suite. This software can be closed-source or open-source and be virtually anything as long as it is compatible with an operating system that is supported by the Phoronix Test Suite.
For this guide, the piece of software being used for demonstration is just a simple C++ program that calculates Pi to 8,765,4321 digits using the Leibniz formula. Below is this sample piece of software intended just for demonstration purposes.
> #include &lt;iostream&gt;
> #include &lt;math.h&gt;
> int main()
> {
> double pi = 0;
> for(long int i = 1; i &lt;= 87654321; i++)
> pi += (double) pow(-1, i + 1) / (2 * i - 1);
> pi *= 4;
> std::cout &lt;&lt; &quot;Done Calculating Pi...&quot; &lt;&lt; endl;
> return 0;
> }
The first step in the actual profile writing process is to name it. If you're looking to ultimately push this profile to be included in the Phoronix Test Suite, its name must be all lower case and consist of just alpha-numeric characters, but can contain dashes (-). A more advanced test profile capability is operating system prefixes, and if using those there is an underscore separating the prefix from the normal profile name. For this sample profile, we're calling it *sample-program* and the file-name would be *sample-program/test-definition.xml* . Our (very basic) profile is showcased below.
> &lt;PhoronixTestSuite&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TestProfile&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Version&gt;1.1.0&lt;/Version&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TestType&gt;Processor&lt;/TestType&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;SoftwareType&gt;Utility&lt;/SoftwareType&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;License&gt;FREE&lt;/License&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Status&gt;PRIVATE&lt;/Status&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Maintainer&gt;Phoronix Media&lt;/Maintainer&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TestProfile&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TestInformation&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Title&gt;Sample Pi Program&lt;/Title&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TimesToRun&gt;3&lt;/TimesToRun&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ResultScale&gt;Seconds&lt;/ResultScale&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Proportion&gt;LIB&lt;/Proportion&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Description&gt;A simple C++ program that calculates Pi to 8,765,4321 digits using the Leibniz formula. This test can be used for showcasing how to write a basic test profile.&lt;/Description&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ExternalDependencies&gt;build-utilities&lt;/ExternalDependencies&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TestInformation&gt;
> &lt;/PhoronixTestSuite&gt;
This XML profile is what interfaces with the Phoronix Test Suite and provides all the needed information about the test as well as other attributes. For a complete listing of all the supported profile options, look at the specification files in the documentation folder. In the case of *sample-program* , it lets the Phoronix Test Suite know that it's composed of free software, is designed to test the processor, is intended for private use only, and this profile is maintained by Phoronix Media. In addition, it tells the Phoronix Test Suite to execute this program three times and as no result quantifier is set, the average of the three runs will be taken. This profile also tells the Phoronix Test Suite that the generic *build-utilities* package is needed, which will attempt to ensure that default system C/C++ compiler and the standard development utilities/libraries are installed on your Linux distribution. This is needed as the C++ source-code will need to be built from source.
The next step is to write the *install.sh* file, which once called by the Phoronix Test Suite is intended to install the test locally for benchmarking purposes. The *install.sh* file is technically optional, but is generally used by all tests. Note: The first argument supplied to the install script is the directory that the test needs to be installed to. The *install.sh* file (in our instance) is to be placed inside *test-profiles/sample-program* . Below is the *install.sh* for the *sample-program* .
> #!/bin/sh
> tar -xjf sample-pi-program-1.tar.bz2
> g++ sample-pi-program.cpp -o sample-pi-program
> echo &quot;#!/bin/sh
> ./sample-pi-program 2&gt;&amp;1
> &quot; &gt; sample-program
> chmod +x sample-program
This install file builds the code with GCC, and then creates a small script that is run by the Phoronix Test Suite. Where does the source-code come into play? Well, it needs to be downloaded now from a web server. The Phoronix Test Suite has built-in support for managing downloads from multiple servers in a random over, fall-back support if one mirror is done, and verification of MD5 check-sums. Below is the *downloads.xml* file for *sample-program* that covers all of this.
> &lt;PhoronixTestSuite&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Downloads&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Package&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;URL&gt;http://www.phoronix-test-suite.com/benchmark-files/sample-pi-program.cpp&lt;/URL&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;MD5&gt;e90fb790df8d1544696a1439c9b5bd8d&lt;/MD5&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Package&gt;
> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Downloads&gt;
> &lt;/PhoronixTestSuite&gt;
The final step in the profile writing process is to write a parser to strip all information but the reported result from the standard output or *$LOG_FILE* . In the case of a test profile just measuring how long it takes to run, it is as simple as a *results-definition.xml* looking like:
> &lt;?xml version=&quot;1.0&quot;?&gt;
> &lt;PhoronixTestSuite&gt;
> &lt;SystemMonitor&gt;
> &lt;Sensor&gt;sys.time&lt;/Sensor&gt;
> &lt;/SystemMonitor&gt;
> &lt;/PhoronixTestSuite&gt;
After that, with all the files in their correct locations, just run: *phoronix-test-suite benchmark sample-program* . The Phoronix Test Suite should now handle the rest by installing the test, running the test, and recording the results (if you so choose). There is no additional work that needs to be done for the results to be recorded in the results viewer or even reporting the results to OpenBenchmarking.org. An up-to-date version of this test profile can be run via *phoronix-test-suite benchmark sample-program* and then by looking at the test profile source via *~/.phoronix-test-suite/test-profiles/pts/sample-program** or within */var/lib/phoronix-test-suite/test-profiles/pts/* if running as root.
# Development Credits
The Phoronix Test Suite is based upon the extensive testing and internal tools developed by [Phoronix.com](http://www.phoronix.com/) since 2004 along with support from leading tier-one computer hardware and software vendors. The principal architects of the Phoronix Test Suite are [Michael Larabel](http://www.michaellarabel.com/) and Matthew Tippett. The phoronix-test-suite, pts_Graph, Phoromatic, Phodevi, tandem_Xml, and nye_Xml are some of the related open-source projects provided by [Phoronix Media](http://www.phoronix-media.com/) .

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>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -4,11 +4,11 @@
</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>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, and Amazon Linux EC2.</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>
<p>The only required dependency for the Phoronix Test Suite is PHP 5.3 or newer. On Linux distributions, the needed package is commonly called <em>php5-cli</em> or <em>php-cli</em> or <em>php</em>. It is important to note that only PHP for the command-line is needed and not a web server (Apache) or other packages commonly associated with PHP and its usage by web-sites. The PHP5 version required is PHP 5.3+ and can also be found at <a href="http://www.php.net/">www.php.net</a>.</p>
<p>The only required dependency for the Phoronix Test Suite is PHP 5.3 or newer. On Linux distributions, the needed package is commonly called <em>php5-cli</em> or <em>php-cli</em> or <em>php7</em> or <em>php</em>. It is important to note that only PHP for the command-line is needed and not a web server (Apache) or other packages commonly associated with PHP and its usage by web-sites. The PHP5 version required is PHP 5.3+ and can also be found at <a href="http://www.php.net/">www.php.net</a>. PHP 7 is fully supported by the Phoronix Test Suite as well as HHVM.</p>
<p>For installing PHP on Windows, the <a href="https://www.microsoft.com/web/platform/phponwindows.aspx">Microsoft Web Platform Installer</a> provides an automated alternative that will install PHP into the directory expected by Phoronix Test Suite. Users opting to install PHP manually must extract the files to <em>C:\Program Files (x86)\PHP\</em> or a subdirectory.</p>
<p>As part of the PHP requirement, the following PHP extensions are required and/or highly recommended in order to take advantage of the Phoronix Test Suite capabilities:</p>
@@ -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,12 +48,11 @@
<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>
<p>The Phoronix Test Suite also uses <a href="http://www.cpuid.com/cpuz.php">CPU-Z</a> for much of the hardware detection support on Windows and is dependent upon CPU-Z being installed to <em>C:\Program Files\CPUID\CPU-Z\cpuz.exe</em> if you wish to utilize this hardware reporting feature. </p>
<p>NOTE: because of lack of external dependencies support, it is necessary to manually download and install the files for some test profiles, such as the Unigine graphics benchmarks. See Troubleshooting for more information.</p>
<h2>Facebook HipHop</h2>
<p>The Phoronix Test Suite can use Facebook's <a href="https://github.com/facebook/hiphop-php">HipHop HHVM</a> virtual machine as an alternative to the de facto PHP implementation. The Phoronix Test Suite has been tested against HHVM 2.0. If HHVM is present on the system but not PHP, it will automatically be used by the Phoronix Test Suite. Alternatively, the <em>PHP_BIN</em> environment variable can be set to point to an alternative <em>hhvm</em> binary.</p>

View File

@@ -1 +1 @@
<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>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>FreeBSD</li><li>GNU KFreeBSD</li><li>Gentoo</li><li>Goobuntu</li><li>HP</li><li>Joli Cloud</li><li>Linaro</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>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>Ubuntu</li><li>Zenwalk</li><li>gNewSense</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

@@ -31,6 +31,8 @@
<p>For setting any test option(s) from an environment variable rather than being prompted for the options when running a test. Example: <em>PRESET_OPTIONS=&quot;stream.run-type=Add&quot; ./phoronix-test-suite benchmark stream</em>. Multiple options can be passed to this environment variable when delimited by a semicolon.</p>
<p><strong>SKIP_TESTS</strong></p>
<p>If there are any test(s) to exempt from the testing process, specify them in this variable. Multiple tests can be waived by delimiting each test identifier by a comma. A test hardware type (i.e. Graphics) can also be supplied for skipping a range of tests.</p>
<p><strong>SKIP_TESTS_HAVING_ARGS</strong></p>
<p>If any of the test(s) have an argument matching any strings contained in this environment variable, the test execution will be skipped. Multiple strings can be set when delimiting by a comma.</p>
<p><strong>RUN_TESTS_IN_RANDOM_ORDER</strong></p>
<p>Setting this environment variable will cause the tests to be run in a random order.</p>
<p><strong>SKIP_TESTING_SUBSYSTEMS</strong></p>
@@ -62,7 +64,9 @@
<p><strong>PTS_DOWNLOAD_CACHE</strong></p>
<p>While non-standard Phoronix Test Suite download caches can be specified within the <em>user-config.xml</em> file, an additional directory to look for potential Phoronix Test Suite download files can be specified by this variable.</p>
<p><strong>GRAPH_HIGHLIGHT</strong></p>
<p>If this variable is set with a valid test identifer from a result file whether you are using the <em>refresh-graphs</em> command or any other related to the rendering of test results on a bar graph, the specified test identifier's result will be highlighted in a different color than the other rendered test results. Multiple identifiers can be specified when delimited by a comma.</p>
<p>If this variable is set with a valid test identifer from a result file whether you are using the <em>refresh-graphs</em> command or any other related to the rendering of test results on a bar graph, the specified test identifier's result will be rendered in a different color than the other test results. Multiple identifiers can be specified when delimited by a comma. Additionally, for each key it is possible to provide the actual color value, or an index in the color palette. Example: &quot;will_be_different,group1a=1,group1b=1,blue=#0000ff&quot;</p>
<p><strong>TEST_EXEC_PREPEND</strong></p>
<p>Set this variable to any command/environment variable that you may be passed prepended to the test execution string at runtime.</p>
<p><strong>VIDEO_MEMORY</strong></p>
<p>If Phodevi fails to detect the system's video memory capacity or is incorrectly detected, the video memory capacity (in MB) can be specified by this variable.</p>
<p><strong>OVERRIDE_VIDEO_MODES</strong></p>

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,72 @@
<html>
<head>
<Title>Creating Test Profiles</Title>
</head>
<body>
<h1>Creating A New Phoronix Test Suite / OpenBenchmarking.org Test Profile</h1>
<p>A test profile itself consists of a main XML file containing the test's meta-data (<em>test-definition.xml</em>), an XML file if needed to specify required files, download URLs and their MD5/SHA256 hashes and file sizes (<em>downloads.xml</em>), and the <em>install.sh</em> script for installing the test and generating the run-script for execution by the Phoronix Test Suite at run-time. There are also other potential files like <em>pre.sh</em>, <em>interim.sh</em>, and <em>post.sh</em> for execution at pre-run, interim-run, and post-run stages by the Phoronix Test Suite. With the script files comprising test profiles, there is also the option of post-fixing them with e.g. <em>_linux</em> or <em>_windows</em> if wishing to supply different script files based upon the operating system being run during testing, if the setup steps may differ greatly based upon MacOS/Windows/Linux/BSD/Solaris platforms.</p>
<p>Traditionally the easiest way to learn/understand test profile development has been by looking at looking at a basic test like <em>c-ray</em>, <em>tesseract</em> or the hundreds of others that are publicly available. Simply run for example <em>phoronix-test-suite benchmark tesseract</em> and then look at the test profile's contents either via the default locations in <em>~/.phoronix-test-suite/test-profiles</em> or <em>/var/lib/phoronix-test-suite/test-profiles/</em> if running as root on non-Windows platforms.</p>
<h2>Versioning Mandate</h2>
<p>The Phoronix Test Suite / OpenBenchmarking.org philosophy <em>mandates that with any change, a new version of the test profile be tagged</em>. This is done for reproducibility and being able to ensure the exact test profile state when a set of tests are conducted. Test profiles are versioned in a <strong>test-X.Y.Z</strong> format where <em>X</em> or <em>Y</em> are bumped whenever a change is made to the test profile that makes the results incomparable to a previous version of the tests (e.g. updating against a new upstream code-base, adjusting the parameters to what is benchmarked, etc). The Phoronix Test Suite then knows not to attempt any comparisons with an incompatible version difference or to go and fetch that specific version of the package. The <em>Z</em> is bumped when just making non-important changes such as just updating the test's meta-data, changing download URLs, etc. This is easy to enforce with the OpenBenchmarking.org infrastructure rather than having to worry about non-human-friendly Git hashes as test profile versions or having to create Git tags after every commit. The test profile version can optionally be specified when running a test, e.g. <em>phoronix-test-suite benchmark scimark2-1.2.1</em> instead of <em>phoronix-test-suite benchmark scimark2</em>, which would by default choose the latest available test profile version from OpenBenchmarking.org or the latest version on any local Phoromatic Server. The test profile versions are also always written out as part of the Phoronix Test Suite result XML data.</p>
<h2>Writing A Sample Program</h2>
<p>Writing a test profile for the Phoronix Test Suite is a relatively quick and easy process for anyone familiar with common Linux commands and the basics of XML. To help you understand the design of the Phoronix Test Suite, this guide covers the steps needed to write a testing profile for a very simple application.</p>
<p>The first step in the profile writing process is to, well, have a piece of software you'd like to use with the Phoronix Test Suite. This software can be closed-source or open-source and be virtually anything as long as it is compatible with an operating system that is supported by the Phoronix Test Suite.</p>
<p>For this guide, the piece of software being used for demonstration is just a simple C++ program that calculates Pi to 8,765,4321 digits using the Leibniz formula. Below is this sample piece of software intended just for demonstration purposes.</p>
<blockquote>#include &lt;iostream&gt;<br>
#include &lt;math.h&gt;</p>
<p>int main()<br>
{<br>
double pi = 0;</p>
<p> for(long int i = 1; i &lt;= 87654321; i++)<br>
pi += (double) pow(-1, i + 1) / (2 * i - 1);</p>
<p> pi *= 4;<br>
std::cout &lt;&lt; &quot;Done Calculating Pi...&quot; &lt;&lt; endl;<br>
return 0;<br>
}</blockquote>
<p>The first step in the actual profile writing process is to name it. If you're looking to ultimately push this profile to be included in the Phoronix Test Suite, its name must be all lower case and consist of just alpha-numeric characters, but can contain dashes (-). A more advanced test profile capability is operating system prefixes, and if using those there is an underscore separating the prefix from the normal profile name. For this sample profile, we're calling it <em>sample-program</em> and the file-name would be <em>sample-program/test-definition.xml</em>. Our (very basic) profile is showcased below.</p>
<blockquote>&lt;PhoronixTestSuite&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TestProfile&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Version&gt;1.1.0&lt;/Version&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TestType&gt;Processor&lt;/TestType&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;SoftwareType&gt;Utility&lt;/SoftwareType&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;License&gt;FREE&lt;/License&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Status&gt;PRIVATE&lt;/Status&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Maintainer&gt;Phoronix Media&lt;/Maintainer&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TestProfile&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TestInformation&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Title&gt;Sample Pi Program&lt;/Title&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;TimesToRun&gt;3&lt;/TimesToRun&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ResultScale&gt;Seconds&lt;/ResultScale&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Proportion&gt;LIB&lt;/Proportion&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Description&gt;A simple C++ program that calculates Pi to 8,765,4321 digits using the Leibniz formula. This test can be used for showcasing how to write a basic test profile.&lt;/Description&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ExternalDependencies&gt;build-utilities&lt;/ExternalDependencies&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/TestInformation&gt;<br>
&lt;/PhoronixTestSuite&gt;</blockquote>
<p>This XML profile is what interfaces with the Phoronix Test Suite and provides all the needed information about the test as well as other attributes. For a complete listing of all the supported profile options, look at the specification files in the documentation folder. In the case of <em>sample-program</em>, it lets the Phoronix Test Suite know that it's composed of free software, is designed to test the processor, is intended for private use only, and this profile is maintained by Phoronix Media. In addition, it tells the Phoronix Test Suite to execute this program three times and as no result quantifier is set, the average of the three runs will be taken. This profile also tells the Phoronix Test Suite that the generic <em>build-utilities</em> package is needed, which will attempt to ensure that default system C/C++ compiler and the standard development utilities/libraries are installed on your Linux distribution. This is needed as the C++ source-code will need to be built from source.</p>
<p>The next step is to write the <em>install.sh</em> file, which once called by the Phoronix Test Suite is intended to install the test locally for benchmarking purposes. The <em>install.sh</em> file is technically optional, but is generally used by all tests. Note: The first argument supplied to the install script is the directory that the test needs to be installed to. The <em>install.sh</em> file (in our instance) is to be placed inside <em>test-profiles/sample-program</em>. Below is the <em>install.sh</em> for the <em>sample-program</em>.</p>
<blockquote>#!/bin/sh<br /><br />
tar -xjf sample-pi-program-1.tar.bz2<br />
g++ sample-pi-program.cpp -o sample-pi-program<br />
echo &quot;#!/bin/sh<br />
./sample-pi-program 2&gt;&amp;1<br />
&quot; &gt; sample-program<br>
chmod +x sample-program</blockquote>
<p>This install file builds the code with GCC, and then creates a small script that is run by the Phoronix Test Suite. Where does the source-code come into play? Well, it needs to be downloaded now from a web server. The Phoronix Test Suite has built-in support for managing downloads from multiple servers in a random over, fall-back support if one mirror is done, and verification of MD5 check-sums. Below is the <em>downloads.xml</em> file for <em>sample-program</em> that covers all of this.</p>
<blockquote>&lt;PhoronixTestSuite&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Downloads&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;Package&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;URL&gt;http://www.phoronix-test-suite.com/benchmark-files/sample-pi-program.cpp&lt;/URL&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;MD5&gt;e90fb790df8d1544696a1439c9b5bd8d&lt;/MD5&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Package&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Downloads&gt;<br>
&lt;/PhoronixTestSuite&gt;</blockquote>
<p>The final step in the profile writing process is to write a parser to strip all information but the reported result from the standard output or <em>$LOG_FILE</em>. In the case of a test profile just measuring how long it takes to run, it is as simple as a <em>results-definition.xml</em> looking like:</p>
<blockquote>&lt;?xml version="1.0"?&gt;<br>
&lt;PhoronixTestSuite&gt;<br>
&lt;SystemMonitor&gt;<br>
&lt;Sensor&gt;sys.time&lt;/Sensor&gt;<br>
&lt;/SystemMonitor&gt;<br>
&lt;/PhoronixTestSuite&gt;</blockquote>
<p>After that, with all the files in their correct locations, just run: <em>phoronix-test-suite benchmark sample-program</em>. The Phoronix Test Suite should now handle the rest by installing the test, running the test, and recording the results (if you so choose). There is no additional work that needs to be done for the results to be recorded in the results viewer or even reporting the results to OpenBenchmarking.org. An up-to-date version of this test profile can be run via <em>phoronix-test-suite benchmark sample-program</em> and then by looking at the test profile source via <em>~/.phoronix-test-suite/test-profiles/pts/sample-program*</em> or within <em>/var/lib/phoronix-test-suite/test-profiles/pts/</em> if running as root.</p>
</body>
</html>

View File

@@ -1,20 +0,0 @@
<html>
<head>
<Title>PTS Desktop Live</Title>
</head>
<body>
<h1>PTS Desktop Live 2010.1 &quot;Anzhofen&quot;</h1>
<p>PTS Desktop Live and PTS Netbook Live are Linux-based operating systems designed to provide a free software platform for carrying out system tests and hardware benchmarks in an automated, reproducible, and effective manner. The Phoronix Test Suite operating systems are designed around the <a href="http://www.phoronix-test-suite.com/">Phoronix Test Suite</a> with the operating system itself consisting of a stripped down Linux environment, then built upon that is the Phoronix Test Suite with its test profiles and suites. This is not a standard Linux desktop with the normal throng of packages.</p>
<p>Testing with PTS Desktop Live is intended to be via a Live DVD or Live USB (i.e. flash drive or memory card) environment. PTS Netbook Live is similar to PTS Desktop Live but designed for testing on lightweight x86 systems and netbooks. Both PTS Desktop Live and PTS Netbook Live make it very easy to deploy the Phoronix Test Suite across an array of systems, isolates any software differences when seeking to perform hardware comparisons, and is designed to be very easy to carry out these Linux benchmarks even for a first-time Linux user.</p>
<p>The inaugural release of this operating system was PTS Desktop Live 2009.3 (codenamed &quot;Gernlinden&quot;) and was based upon the Phoronix Test Suite 2.0 release. The Gernlinden release shipped with more than 50 open-source test profiles and all needed files being located on the disc image. PTS Desktop Live uses the GTK2 GUI dialog for the Phoronix Test Suite by default, but the CLI options are also accessible. PTS Desktop Live also features optimizations to the Linux kernel and related components for use on the latest high-end hardware and other performance related tweaking. PTS Netbook Live features optimizations for the Intel Atom processor.</p>
<p>The mission of the Phoronix Test Suite and related products will not be achieved until it has made Linux benchmarking incredibly robust and innovative, drop dead easy to perform nearly any kind of benchmark, and when it out-paces other leading operating systems for its benchmarking abilities. These operating systems are being updated quarterly in conjunction with new Phoronix Test Suite releases. The Phoronix Test Suite will continue to be supported under all other Linux distributions, OpenSolaris, Mac OS X, Windows, and *BSD operating systems, but this is just another addition on top of that.</p>
<p>PTS Desktop Live is designed to run on x86_64 compatible systems with 2GB or more of system memory (ideally 4GB+ if you wish to run many of the tests in a live environment) being highly recommended along with a modern CPU and graphics processor. No proprietary graphics drivers are shipped with PTS Desktop Live at this time, so depending upon the hardware you may not have OpenGL acceleration to run the few graphics-related tests that are included with this release. Only graphics drivers are provided for ATI/AMD, NVIDIA, and Intel hardware. An Internet connection is not required but is needed for communication with OpenBenchmarking.org and for utilizing some of the other Phoronix Test Suite features.</p>
<p>PTS Netbook Live is designed for netbooks and nettop computers with an Intel Atom processor.</p>
<h2>Quick Start Guide</h2>
<p>When the operating system has fully booted, the end-user agreement for the Phoronix Test Suite will be displayed, followed by initializing the main GTK user interface for the Phoronix Test Suite. The Phoronix Test Suite has more than 100 test profiles while there are about 50 test profiles featured within live environment, which are free software, do not pose significant install size problems, and are suitable for benchmarking from a live environment. By default, PTS Desktop Live and PTS Netbook Live will only show the test profiles and suites where all of the needed test files and dependencies ship with this open-source operating system. However, to access any of the test profiles that may require downloading additional files or external dependencies, use the <em>View</em> menu to toggle the different options. The system's hardware and software information can also be viewed in a graphical window from this menu.</p>
<p>From the <em>Available Tests</em> tab, any test/suite can be selected to view more information. If you wish to install the test, simply click on the install button while waiting shortly for it to install. Afterwards, the test can be run by selecting it again and clicking on the run/benchmark button. If you have a <a href="http://www.openbenchmarking.org/">OpenBenchmarking.org</a> account, you can login from the <em>File</em> menu while Phoronix Test Suite settings are adjustable from the <em>Edit</em> menu.</p>
<p>When the testing has completed, the graphical user interface will reappear. Via the buttons that appear at the top of the interface, the test results can then be opened within the web browser. Depending upon the test profile, it may also be possible to immediately compare the test result(s) against a set of reference systems. If the completed test(s) do have reference results available, a list of the comparable systems are shown, so that you can click on one or more of these reference systems to see how the given system performs in comparison. Results from OpenBenchmarking.org can also be compared with any of the test results.</p>
<p>Assuming you did not launch any commands from the terminal to alter the disk(s) or its contents or carry out any other changes; PTS Desktop Live will have not touched your data or the installed operating system(s). If you wish to archive any of your test results, upload the results to OpenBenchmarking.org. Alternatively, when going to the <em>Test Results</em> tab and selecting a test, the <em>File</em> menu presents options for exporting results to text, CSV, and PDF files. The contents of the <em>~/.phoronix-test-suite/test-results/</em> folder can also be backed up for preserving the test results.</p>
<p>If you wish to use the Phoronix Test Suite from the command-line, open a terminal and run <em>phoronix-test-suite</em>.</p>
</body>
</html>

View File

@@ -1,25 +1,25 @@
The Phoronix Test Suite itself is an open-source framework for conducting automated tests along with reporting of test results, detection of installed system software/hardware, and other features. Modules for the Phoronix Test Suite also allow for integration with git-bisect and other revision control systems for per-commit regression testing, system sensor monitoring, and other extras.
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.
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.
Professional support and custom engineering for the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org is available by contacting <http://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 web-site.
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:
## 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, 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`, `php5-cli`, or `php5`.
## USAGE:
## Usage
The process to download, install/setup, execute, and report the results of a benchmark can be as simple as a command such as `phoronix-test-suite benchmark smallpt` to run a simple CPU test profile. If wishing to simply install a test, it's a matter of running `phoronix-test-suite install <test or suite name>` and to run it's `phoronix-test-suite run <test or suite name>`. There's also a batch mode for non-interactive benchmarking by first running `phoronix-test-suite batch-setup` and then using the `batch-run` sub-command rather than `run`.
Viewing installed system hardware and software is available via `phoronix-test-suite system-info` or `phoronix-test-suite detailed-system-info` for greater verbosity.
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.
Additional information is available from the Phoronix Test Suite web-site <http://www.phoronix-test-suite.com/> and the material bundled within the `phoronix-test-suite/documentation/` directory. A man page is also bundled with the phoronix-test-suite software.
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.

View File

@@ -2,7 +2,7 @@
# Phoronix Test Suite
# URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
# Copyright (C) 2008 - 2015, 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

33
install.bat Normal file
View File

@@ -0,0 +1,33 @@
@echo off
:: Phoronix Test Suite
:: URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
:: Copyright (C) 2018, 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
:: 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/>.
:: Generic Phoronix Test Suite installer for Windows
:: Ensure the user is in the correct directory
If Not Exist "pts-core\phoronix-test-suite.php" (
echo "To install the Phoronix Test Suite you must first change directories to phoronix-test-suite. For support visit: http://www.phoronix-test-suite.com/"
exit
)
set destination="C:\phoronix-test-suite"
md %destination%
:: cd /d %destination%
:: for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)
xcopy %cd% %destination% /E
echo Phoronix Test Suite installed to %destination%

View File

@@ -3,8 +3,8 @@
#
# Phoronix Test Suite
# URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
# Copyright (C) 2008 - 2015, Phoronix Media
# Copyright (C) 2008 - 2015, 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,10 +21,22 @@
# 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`
export PTS_MODE="CLIENT"
if which realpath >/dev/null 2>&1 ;
then
export PTS_LAUNCHER=`realpath $0`
else
export PTS_LAUNCHER="$PTS_DIR/phoronix-test-suite"
fi
if [ $PTS_DIR != "`pwd`" ]
then
@@ -44,18 +56,30 @@ fi
if [ ! "X$PHP_BIN" = "X" ] && [ -x $PHP_BIN ]
then
export PHP_BIN=$PHP_BIN
elif [ -x /usr/bin/php5 ] || [ -x /usr/local/bin/php5 ] || [ -x /usr/pkg/bin/php5 ]
elif [ -x /usr/bin/php7 ] || [ -x /usr/local/bin/php7 ] || [ -x /usr/pkg/bin/php7 ]
then
export PHP_BIN="php5"
elif [ -x /usr/bin/php ] || [ -x /usr/local/bin/php ] || [ -x /usr/pkg/bin/php ]
export PHP_BIN="php7"
elif [ -x /usr/bin/php ] || [ -x /usr/pkg/bin/php ]
then
export PHP_BIN="php"
elif [ -x /usr/php5/bin/php ]
elif [ -x /usr/php7/bin/php ]
then
export PHP_BIN="/usr/php5/bin/php"
export PHP_BIN="/usr/php7/bin/php"
elif [ -x /usr/php/bin/php ]
then
export PHP_BIN="/usr/php/bin/php"
elif [ -x /usr/local/bin/php ]
then
export PHP_BIN="/usr/local/bin/php"
elif [ -x /usr/local/bin/php-7.0 ]
then
export PHP_BIN="/usr/local/bin/php-7.0"
elif [ -x /usr/local/bin/php-7.1 ]
then
export PHP_BIN="/usr/local/bin/php-7.1"
elif [ -x /usr/local/bin/php-7.2 ]
then
export PHP_BIN="/usr/local/bin/php-7.2"
elif [ -x /opt/bin/php ]
then
export PHP_BIN="/opt/bin/php"
@@ -65,9 +89,21 @@ then
elif which php >/dev/null 2>&1 ;
then
export PHP_BIN="php"
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"
elif which php-cli >/dev/null 2>&1 ;
then
export PHP_BIN="php-cli"
elif [ -x /usr/bin/hhvm ]
then
export PHP_BIN="/usr/bin/hhvm"
@@ -83,46 +119,125 @@ if [ "X$PHP_BIN" = "X" ]
then
cat <<'EOT'
PHP 5.3 or newer 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
if [ -x /usr/bin/zypper ]
then
# SUSE / OpenSUSE
echo "The command to likely run for your operating system is: "
echo "# zypper install php5 php5-zip"
echo "# zypper install php7 php7-zip"
echo " "
elif [ -x /usr/bin/apt-get ]
then
# Debian / Ubuntu Based Systems
echo "The command to likely run for your operating system is: "
echo "# apt-get install php5-cli"
echo "# apt-get install php-cli php-xml"
echo " "
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
# Red Hat / Fedora / etc
echo "The command to likely run for your operating system is: "
echo "# yum install php-cli php-xml"
echo "# yum install php-cli php-xml php-json"
echo " "
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
# Arch Linux
echo "The command to likely run for your operating system is: "
echo "# pacman -S php"
echo " "
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 php5 php5-dom php5-zip php5-json php5-simplexml"
echo "# pkg install php72 php72-dom php72-zip php72-json php72-simplexml php72-openssl"
echo " "
elif [ -x /usr/bin/swupd ]
then
# Clear Linux
echo "The command to likely run for your operating system is: "
echo "# swupd bundle-add os-testsuite-phoronix"
echo " "
elif [ -x /usr/sbin/pkg_add ]
then
# OpenBSD
echo "The command to likely run for your operating system is: "
echo "# pkg_add php php-zip"
echo " "
elif [ -x /usr/sbin/equo ]
then
# Sabayon
echo "The command to likely run for your operating system is: "
echo "# equo install dev-lang/php"
echo " "
elif [ -x /usr/bin/xbps-install ] || [ -x /usr/sbin/xbps-install ]
then
# Void Linux
echo "The command to likely run for your operating system is: "
echo "# xbps-install -Sy php unzip"
echo " "
elif [ -x /usr/sbin/netpkg ]
then
# Zenwalk / Slackware
echo "The command to likely run for your operating system is: "
echo "# netpkg php"
echo " "
elif [ -x /sbin/apk ]
then
# Alpine Linux
echo "The command to likely run for your operating system is: "
echo "# apk add php7 php7-dom php7-zip php7-json php7-simplexml"
echo " "
elif [ -x /usr/bin/urpmi ]
then
# OpenMandriva Linux
echo "The command to likely run for your operating system is: "
echo "# urpmi php-cli"
echo " "
elif [ -x /usr/bin/eopkg ]
then
# Solus Linux
echo "The command to likely run for your operating system is: "
echo "# eopkg install php"
echo " "
elif [ -x /usr/sbin/mport ]
then
# MidnightBSD
echo "The command to likely run for your operating system is: "
echo "# mport install php71 php71-dom php71-zip php71-json php71-simplexml"
echo " "
elif [ -x /bin/opkg ]
then
# Linux Embedded Development Environment
echo "The command to likely run for your operating system is: "
echo "# opkg install php7-cli php7-mod-dom php7-mod-zip php7-mod-json php7-mod-simplexml"
echo " "
elif [ -x /usr/bin/equo ]
then
# Sabayon
echo "The command to likely run for your operating system is: "
echo "# equo install php"
echo " "
elif [ -x /usr/bin/emerge ]
then
# Gentoo
echo "The command to likely run for your operating system is: "
echo "# emerge dev-lang/php"
echo " "
fi
@@ -140,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
@@ -151,6 +266,10 @@ case "$1" in
"test-module" | "debug-module" | "webui")
export PTS_IGNORE_MODULES=1
;;
"debug-self-test")
export PTS_IGNORE_MODULES=1
export PTS_SILENT_MODE=1
;;
"enterprise-setup")
export PTS_SILENT_MODE=1
;;

View File

@@ -1,7 +1,7 @@
:: Phoronix Test Suite
:: URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
:: Copyright (C) 2008 - 2015, Phoronix Media
:: Copyright (C) 2008 - 2015, 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
@@ -20,24 +20,34 @@
:: Full path to root directory of the actual Phoronix Test Suite code
@echo off
set PTS_DIR=%cd%
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
echo "No PHP_BIN defined checking for usual locations."
:: Recursively search C:Program Files (x86)\PHP\ and subdirectories for the php executable
:: (installed location may vary depending on the installation method.)
for /f "delims=" %%i in ('dir "C:\Program Files (x86)\PHP\php.exe" /s /b') do (set PHP_BIN="%%i")
If exist C:\php-gtk2\php.exe (
set PHP_BIN=C:\php-gtk2\php.exe
:: Download PHP for Windows and then extract it
If not exist C:\PHP\php.exe (
echo Attempting to download and setup Windows PHP release.
If not exist php.zip (
powershell -command "& { iwr http://phoronix-test-suite.com/benchmark-files/php-7.2.3-Win32-VC15-x64.zip -OutFile php.zip }"
)
powershell -command "& { Expand-Archive php.zip -DestinationPath C:\PHP }"
If not exist VC_redist.x64.exe (
echo Attempting to download and run Visual C++ Redistributable for Visual Studio 2017 support.
powershell -command "& { iwr https://go.microsoft.com/fwlink/?LinkId=746572 -OutFile VC_redist.x64.exe }"
VC_redist.x64.exe
)
)
:: Use the newly downloaded PHP location
set PHP_BIN=C:\PHP\php.exe
:SkipBinSearch
cls
%PHP_BIN% pts-core\phoronix-test-suite.php %*
%PHP_BIN% "%PTS_DIR%\pts-core\phoronix-test-suite.php" %*

View File

@@ -17,7 +17,7 @@
*/
class analyze_all_runs implements pts_option_interface
{
const doc_section = 'Result Analytics';
const doc_section = 'Result Management';
const doc_description = '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.';
public static function argument_checks()
{

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2012 - 2015, Phoronix Media
Copyright (C) 2012 - 2015, Michael Larabel
Copyright (C) 2012 - 2018, Phoronix Media
Copyright (C) 2012 - 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
@@ -25,10 +25,6 @@ class auto_compare implements pts_option_interface
const doc_section = 'Testing';
const doc_description = 'This option will autonomously determine the most relevant test(s) to run for any selected sub-system(s). The tests to run are determined via OpenBenchmarking.org integration with the global results pool. Related test results from OpenBenchmarking.org are also merged to provide a straight-forward and effective means of carrying out a system comparison. If wishing to find comparable results for any particular test profile(s), simply pass the test profile names as additional arguments to this command.';
public static function invalid_command($passed_args = null)
{
pts_tests::invalid_command_helper($passed_args);
}
public static function run($r)
{
$compare_tests = array();
@@ -39,7 +35,7 @@ class auto_compare implements pts_option_interface
if($test_object instanceof pts_test_profile)
{
array_push($compare_tests, $test_object->get_identifier(false));
$compare_tests[] = $test_object->get_identifier(false);
if(!isset($compare_subsystems[$test_object->get_test_hardware_type()]))
{
@@ -140,7 +136,7 @@ class auto_compare implements pts_option_interface
}
$result_file->override_result_objects($result_objects);
pts_client::save_test_result($result_file->get_file_location(), $result_file->get_xml());
array_push($compare_results, $public_id);
$compare_results[] = $public_id;
}
}
@@ -197,10 +193,10 @@ class auto_compare implements pts_option_interface
{
$value_r = explode(' ', str_replace('-', ' ', $value));
array_pop($value_r);
array_push($to_array, $component_type . ':' . implode(' ', $value_r));
$to_array[] = $component_type . ':' . implode(' ', $value_r);
}
array_push($to_array, $component_type . ':' . $value);
$to_array[] = $component_type . ':' . $value;
}
}
}

View File

@@ -0,0 +1,68 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2017, Phoronix Media
Copyright (C) 2017, 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 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.';
public static function run($r)
{
$loaded_modules = pts_strings::comma_explode(pts_config::read_user_config('PhoronixTestSuite/Options/Modules/LoadModules', 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);
echo PHP_EOL . 'Available Modules: ' . PHP_EOL;
echo pts_user_io::display_text_list($available_modules);
if(count($r) == 0)
{
echo PHP_EOL . 'You must specify a valid module from the list to load.' . PHP_EOL;
echo 'Example: phoronix-test-suite auto-load-module update_checker' . PHP_EOL;
return false;
}
foreach($r as $module_to_load)
{
if(!in_array($module_to_load, $available_modules))
{
echo PHP_EOL . 'Module Not Available: ' . $module_to_load . PHP_EOL;
}
else if(in_array($module_to_load, $loaded_modules))
{
echo PHP_EOL . 'Module Already Loaded: ' . $module_to_load . PHP_EOL;
}
else
{
echo PHP_EOL . 'Module To Load: ' . $module_to_load . PHP_EOL;
array_push($loaded_modules, $module_to_load);
}
}
$new_options = array('PhoronixTestSuite/Options/Modules/LoadModules' => 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 - 2015, Phoronix Media
Copyright (C) 2014 - 2015, Michael Larabel
Copyright (C) 2014 - 2018, Phoronix Media
Copyright (C) 2014 - 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
@@ -50,10 +50,6 @@ class auto_sort_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(PTS_SAVE_RESULTS_PATH . $args[0] . '/index.html');
}
public static function invalid_command($passed_args = null)
{
pts_tests::recently_saved_results();
}
}
?>

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 - 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
@@ -36,10 +36,6 @@ class batch_run implements pts_option_interface
$test_run_manager = new pts_test_run_manager(true);
$test_run_manager->standard_run($r);
}
public static function invalid_command($passed_args = null)
{
pts_tests::invalid_command_helper($passed_args);
}
}
?>

View File

@@ -29,10 +29,6 @@ class benchmark implements pts_option_interface
{
return array('test');
}
public static function invalid_command($passed_args = null)
{
pts_tests::invalid_command_helper($passed_args);
}
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) 2008 - 2015, Phoronix Media
Copyright (C) 2008 - 2015, Michael Larabel
Copyright (C) 2008 - 2017, Phoronix Media
Copyright (C) 2008 - 2017, 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
@@ -22,7 +22,7 @@
class build_suite implements pts_option_interface
{
const doc_section = 'Other';
const doc_section = 'Asset Creation';
const doc_description = 'This option will guide the user through the process of generating their own test suite, which they can then run. Optionally, passed as arguments can be the test(s) or suite(s) to add to the suite to be created, instead of being prompted through the process.';
public static function run($r)
@@ -34,11 +34,15 @@ class build_suite implements pts_option_interface
$suite_maintainer = pts_user_io::prompt_user_input('Enter suite maintainer name');
$suite_description = pts_user_io::prompt_user_input('Enter suite description');
$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);
$suite_writer = new pts_test_suite_writer();
$suite_writer->add_suite_information($suite_name, '1.0.0', $suite_maintainer, $suite_test_type, $suite_description);
$new_suite = new pts_test_suite();
$new_suite->set_title($suite_name);
$new_suite->set_version('1.0.0');
$new_suite->set_maintainer($suite_maintainer);
$new_suite->set_suite_type($suite_test_type);
$new_suite->set_description($suite_description);
foreach($r as $test_object)
{
@@ -51,12 +55,12 @@ class build_suite implements pts_option_interface
for($i = 0; $i < count($args); $i++)
{
// Not binding the test profile version to this suite, otherwise change false to true
$suite_writer->add_to_suite($test_object->get_identifier(false), $args[$i], $description[$i]);
$new_suite->add_to_suite($test_object, $args[$i], $description[$i]);
}
}
else if($test_object instanceof pts_test_suite)
{
$suite_writer->add_to_suite($test_object->get_identifier(), null, null);
$new_suite->add_suite_tests_to_suite($test_object);
}
}
@@ -74,12 +78,13 @@ class build_suite implements pts_option_interface
for($i = 0; $i < count($args); $i++)
{
$suite_writer->add_to_suite($test_to_add, $args[$i], $description[$i]);
$new_suite->add_to_suite($test_profile, $args[$i], $description[$i]);
}
break;
case 'Add Sub-Suite':
$suite_to_add = pts_user_io::prompt_text_menu('Enter test suite', $possible_suites);
$suite_writer->add_to_suite($suite_to_add, null, null);
$test_suite = new pts_test_suite($suite_to_add);
$new_suite->add_suite_tests_to_suite($test_suite);
break;
}
echo PHP_EOL . 'Available Options:' . PHP_EOL;
@@ -87,13 +92,9 @@ class build_suite implements pts_option_interface
}
while($input_option != 'Save & Exit');
$suite_identifier = $suite_writer->clean_save_name_string($suite_name);
$save_to = PTS_TEST_SUITE_PATH . 'local/' . $suite_identifier . '/suite-definition.xml';
mkdir(dirname($save_to));
if($suite_writer->save_xml($save_to) != false)
if($new_suite->save_xml($suite_name) != false)
{
echo PHP_EOL . PHP_EOL . 'Saved To: ' . $save_to . PHP_EOL . 'To run this suite, type: phoronix-test-suite benchmark ' . $suite_identifier . PHP_EOL . PHP_EOL;
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

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2010, Phoronix Media
Copyright (C) 2010, Michael Larabel
Copyright (C) 2018, Phoronix Media
Copyright (C) 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
@@ -20,15 +20,29 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class pts_parse_results_nye_XmlReader extends nye_XmlReader
class commands implements pts_option_interface
{
public function __construct($read_xml)
const doc_section = 'Other';
const doc_description = 'This option will display a short list of possible Phoronix Test Suite commands.';
public static function run($r)
{
parent::__construct($read_xml);
}
public function validate()
{
return $this->dom->schemaValidate(PTS_OPENBENCHMARKING_PATH . 'schemas/results-parser.xsd');
$options = pts_documentation::client_commands_array();
$commands = array();
foreach($options as $section => &$contents)
{
if(empty($contents))
{
continue;
}
foreach($contents as &$option)
{
$commands[] = $option[0];
}
}
echo pts_user_io::display_packed_list($commands);
echo 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,91 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2018, Phoronix Media
Copyright (C) 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 create_test_profile implements pts_option_interface
{
const doc_section = 'Asset Creation';
const doc_description = 'This option can be used for creating a Phoronix Test Suite test profile by answering questions about the test for constructing the test profile XML meta-data and handling other boiler-plate basics for getting started in developing new tests.';
public static function run($r)
{
echo 'The create-test-profile helper will attempt to walk you through creating the basics of creating a new test profile for execution by the Phoronix Test Suite. Follow the prompts to begin filling out the XML meta-data that defines a test profile.' . PHP_EOL;
do
{
$is_valid = true;
$input = pts_user_io::prompt_user_input('Enter an identifier/name for the test profile', false, false);
$input = pts_validation::string_to_sanitized_test_profile_base($input);
if(pts_test_profile::is_test_profile($input))
{
$is_valid = false;
echo 'There is already a ' . $input . ' test profile.' . PHP_EOL;
}
else if(pts_test_suite::is_suite($input))
{
$is_valid = false;
echo 'There is already a test suite named ' . $input . '.' . PHP_EOL;
}
else if(pts_result_file::is_test_result_file($input))
{
$is_valid = false;
echo 'There is already a result file named ' . $input . '.' . PHP_EOL;
}
}
while(!$is_valid);
$tp_identifier = 'local/'. $input;
$tp_path = PTS_TEST_PROFILE_PATH . $tp_identifier;
echo 'Creating test profile: ' . $tp_identifier . ' @ ' . $tp_path . PHP_EOL;
pts_file_io::mkdir($tp_path);
$types = pts_validation::process_xsd_types();
pts_client::$display->generic_heading('test-definition.xml Creation');
$writer = new nye_XmlWriter();
pts_validation::xsd_to_cli_creator(pts_openbenchmarking::openbenchmarking_standards_path() . 'schemas/test-profile.xsd', $writer, $types);
$writer->saveXMLFile($tp_path . '/test-definition.xml');
echo 'Generated: ' . $tp_path . '/test-definition.xml' . PHP_EOL;
pts_client::$display->generic_heading('downloads.xml Creation');
$writer = new nye_XmlWriter();
do
{
pts_validation::xsd_to_cli_creator(pts_openbenchmarking::openbenchmarking_standards_path() . 'schemas/test-profile-downloads.xsd', $writer, $types);
}
while(pts_user_io::prompt_bool_input('Add another file/download?', -1));
$writer->saveXMLFile($tp_path . '/downloads.xml');
echo 'Generated: ' . $tp_path . '/downloads.xml' . PHP_EOL;
/*
pts_client::$display->generic_heading('results-definition.xml Creation');
$writer = new nye_XmlWriter();
pts_validation::xsd_to_cli_creator(pts_openbenchmarking::openbenchmarking_standards_path() . 'schemas/results-parser.xsd', $writer, $types);
$writer->saveXMLFile($tp_path . '/results-definition.xml');
echo 'Generated: ' . $tp_path . '/results-definition.xml' . PHP_EOL;
*/
pts_validation::generate_test_profile_file_templates($tp_identifier, $tp_path);
}
}
?>

View File

@@ -0,0 +1,45 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2015, Phoronix Media
Copyright (C) 2015, 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 debug_dependency_handler implements pts_option_interface
{
const doc_section = 'Other';
const doc_description = 'This option is used for testing the distribution-specific dependency handler for external dependencies.';
public static function run($r)
{
$exdep_parser = new pts_exdep_generic_parser();
foreach($exdep_parser->get_available_packages() as $pkg)
{
$pkg_data = $exdep_parser->get_package_data($pkg);
$files = explode(' ', str_replace(array(' OR ', ', '), ' ', $pkg_data['file_check']));
foreach($files as $file)
{
echo (is_array($file) ? implode(' ', $file) : $file) . ': ';
$deps = pts_external_dependencies::packages_that_provide($file);
echo (is_array($deps) ? implode(' ', $deps) : 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) 2015, Phoronix Media
Copyright (C) 2015, Michael Larabel
Copyright (C) 2015 - 2017, Phoronix Media
Copyright (C) 2015 - 2017, 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
@@ -27,14 +27,18 @@ class debug_render_test implements pts_option_interface
public static function run($r)
{
$render_dir = pts_client::temporary_directory() . '/pts-render-test-310815/';
if(!is_file($render_dir . 'mega-render-test.tar.bz2'))
$render_dir = pts_client::temporary_directory() . '/pts-render-test-20171112/';
if(!is_file($render_dir . 'mega-render-test-20171112.tar.xz'))
{
pts_file_io::mkdir($render_dir);
pts_network::download_file('http://linuxbenchmarking.com/misc/mega-render-test-310815.tar.bz2', $render_dir . 'mega-render-test.tar.bz2');
pts_compression::archive_extract($render_dir . 'mega-render-test.tar.bz2');
pts_network::download_file('http://linuxbenchmarking.com/misc/mega-render-test-20171112.tar.xz', $render_dir . 'mega-render-test-20171112.tar.xz');
}
pts_compression::archive_extract($render_dir . 'mega-render-test-20171112.tar.xz');
if(!defined('PATH_TO_EXPORTED_PHOROMATIC_DATA'))
{
define('PATH_TO_EXPORTED_PHOROMATIC_DATA', $render_dir . 'mega-render-test-20171112/');
}
define('PATH_TO_EXPORTED_PHOROMATIC_DATA', $render_dir . 'mega-render-test-310815/');
error_reporting(E_ALL);
ini_set('memory_limit','2048M');
@@ -63,7 +67,7 @@ class debug_render_test implements pts_option_interface
{
// Add to result file
$system_name = basename(dirname($composite_xml)) . ': ' . $trigger;
array_push($result_files, new pts_result_merge_select($composite_xml, null, $system_name));
$result_files[] = new pts_result_merge_select($composite_xml, null, $system_name);
}
}
echo 'STARTING MERGE; ';
@@ -97,6 +101,19 @@ class debug_render_test implements pts_option_interface
$dump_size += strlen($html_dump);
file_put_contents(PATH_TO_EXPORTED_PHOROMATIC_DATA . $REQUESTED . '.html', $html_dump . '</body></html>');
}
if(getenv('DEBUG_RENDER_TEST_LOCAL_TOO') != false)
{
echo PHP_EOL . 'LOCAL RENDER TEST TIME' . PHP_EOL;
$extra_graph_attributes = null;
foreach(pts_client::saved_test_results() as $saved_result)
{
$save_to_dir = pts_client::setup_test_result_directory($saved_result);
$generated_graphs = pts_client::generate_result_file_graphs($saved_result, $save_to_dir, $extra_graph_attributes);
echo $saved_result . ': ' . count($generated_graphs) . PHP_EOL;
}
}
echo PHP_EOL . 'RENDER TEST TOOK: ' . (time() - $start) . PHP_EOL . PHP_EOL;
echo PHP_EOL . 'PEAK MEMORY USAGE: ' . round(memory_get_peak_usage(true) / 1048576, 3) . ' MB';
echo PHP_EOL . 'PEAK MEMORY USAGE (emalloc): ' . round(memory_get_peak_usage() / 1048576, 3) . ' MB';

View File

@@ -0,0 +1,48 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2017, Phoronix Media
Copyright (C) 2017, 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 debug_result_parser implements pts_option_interface
{
const doc_section = 'Asset Creation';
const doc_description = 'This option is intended for use by test profile writers and is used for debugging a result parser. No test execution is done, but there must already be PTS-generated .log files present within the test\'s installation directory.';
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)
{
// 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);
// Run the test(s) in debug mode
pts_client::set_debug_mode(true);
$test_run_manager = new pts_test_run_manager();
$test_run_manager->DEBUG_no_test_execution_just_result_parse = true;
$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) 2013 - 2015, Phoronix Media
Copyright (C) 2013 - 2015, Michael Larabel
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
@@ -29,14 +29,14 @@ class debug_self_test implements pts_option_interface
{
define('PHOROMATIC_PROCESS', true);
$commands = array(
'detailed_system_info' => null,
'system_info' => null,
'list_available_tests' => null,
'list_available_suites' => null,
'info' => array('pts/all'),
'clone_openbenchmarking_result' => array('1107247-LI-MESACOMMI48', '1509040-HA-GCCINTELS17', '1508201-HA-GTX95073337', '1508233-HA-INTELSKYL16'),
'refresh_graphs' => array('1107247-LI-MESACOMMI48'),
'refresh_graphs' => array('1107247-LI-MESACOMMI48', '1711094-AL-ZOTACGEFO61', '1711073-AL-GTX770TIL45', '1710268-AL-CPUTESTS119'),
'result_file_to_text' => array('1107247-LI-MESACOMMI48'),
'merge_results' => array('1107247-LI-MESACOMMI48', '1509040-HA-GCCINTELS17', '1508201-HA-GTX95073337', '1508233-HA-INTELSKYL16'),
'merge_results' => array('1107247-LI-MESACOMMI48', '1509040-HA-GCCINTELS17', '1508201-HA-GTX95073337', '1508233-HA-INTELSKYL16', '1711094-AL-ZOTACGEFO61', '1711073-AL-GTX770TIL45', '1710268-AL-CPUTESTS119'),
'diagnostics' => null,
'dump_possible_options' => null,
'debug_render_test' => null,
@@ -57,7 +57,7 @@ class debug_self_test implements pts_option_interface
$c_start = microtime(true);
pts_client::execute_command($command, $args);
$c_finish = microtime(true);
array_push($individual_times[$command], ($c_finish - $c_start));
$individual_times[$command][] = ($c_finish - $c_start);
}
}
$finish = microtime(true);

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2010 - 2015, Phoronix Media
Copyright (C) 2010 - 2015, Michael Larabel
Copyright (C) 2010 - 2018, Phoronix Media
Copyright (C) 2010 - 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
@@ -37,7 +37,7 @@ class debug_test_download_links implements pts_option_interface
{
echo 'Checking: ' . $test_profile . PHP_EOL;
foreach(pts_test_install_request::read_download_object_list($test_profile) as $test_file_download)
foreach($test_profile->get_downloads() as $test_file_download)
{
foreach($test_file_download->get_download_url_array() as $url)
{

View File

@@ -1,57 +0,0 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2011 - 2015, Phoronix Media
Copyright (C) 2011 - 2015, 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 detailed_system_info implements pts_option_interface
{
const doc_section = 'System';
const doc_description = 'Display detailed information about the installed system hardware and software information as detected by the Phoronix Test Suite Phodevi Library.';
public static function run($r)
{
pts_client::$display->generic_heading('System Information');
echo 'Hardware:' . PHP_EOL . phodevi::system_hardware(true) . PHP_EOL . PHP_EOL;
echo 'Software:' . PHP_EOL . phodevi::system_software(true) . PHP_EOL . PHP_EOL;
//
// Processor Information
//
$cpu_flags = phodevi_cpu::get_cpu_flags();
echo PHP_EOL . 'PROCESSOR:' . PHP_EOL . PHP_EOL;
echo 'Core Count: ' . phodevi_cpu::cpuinfo_core_count() . PHP_EOL;
echo 'Thread Count: ' . phodevi_cpu::cpuinfo_thread_count() . PHP_EOL;
echo 'Cache Size: ' . phodevi_cpu::cpuinfo_cache_size() . ' KB' . PHP_EOL;
echo 'Instruction Set Extensions: ' . phodevi_cpu::instruction_set_extensions() . PHP_EOL;
echo 'AES Encryption: ' . ($cpu_flags & phodevi_cpu::get_cpu_feature_constant('aes') ? 'YES' : 'NO') . PHP_EOL;
echo 'Energy Performance Bias: ' . ($cpu_flags & phodevi_cpu::get_cpu_feature_constant('epb') ? 'YES' : 'NO') . PHP_EOL;
echo 'Virtualization: ' . (phodevi_cpu::virtualization_technology() ? phodevi_cpu::virtualization_technology() : 'NO') . PHP_EOL;
// Other info
foreach(pts_arrays::to_array(pts_test_run_manager::pull_test_notes(true)) as $test_note_head => $test_note)
{
echo ucwords(str_replace('-', ' ', $test_note_head)) . ': ' . $test_note . 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 - 2015, Phoronix Media
Copyright (C) 2010 - 2015, Michael Larabel
Copyright (C) 2010 - 2018, Phoronix Media
Copyright (C) 2010 - 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
@@ -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');
@@ -40,6 +40,7 @@ class dump_documentation implements pts_option_interface
// Write the test options HTML
$dom = new DOMDocument();
$dom->formatOutput = true;
$html = $dom->createElement('html');
$dom->appendChild($html);
$head = $dom->createElement('head');
@@ -93,7 +94,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 environmental 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 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 ');
$em = $dom->createElement('em', 'phoronix-test-suite list-modules.');
$p->appendChild($em);
$phr = $dom->createElement('hr');
@@ -205,10 +206,12 @@ class dump_documentation implements pts_option_interface
$dom->saveHTMLFile(PTS_PATH . 'documentation/stubs/55_virtual_suites.html');
// Load the HTML documentation
$md = new pts_md_template();
foreach(pts_file_io::glob(PTS_PATH . 'documentation/stubs/*_*.html') as $html_file)
{
$pdf->html_to_pdf($html_file);
$html_doc->html_to_html($html_file);
$md->html_to_md($html_file);
}
if(!is_writable(PTS_PATH . 'documentation/'))
@@ -222,6 +225,8 @@ class dump_documentation implements pts_option_interface
$html_doc->Output(PTS_PATH . 'documentation/phoronix-test-suite.html');
echo PHP_EOL . 'Saved To: ' . $pdf_file . PHP_EOL . PHP_EOL;
$md->Output(PTS_PATH . 'documentation/phoronix-test-suite.md');
// Also re-generate the man page
$man_page = '.TH phoronix-test-suite 1 "www.phoronix-test-suite.com" "' . PTS_VERSION . '"' . PHP_EOL . '.SH NAME' . PHP_EOL;
$man_page .= 'phoronix-test-suite \- The Phoronix Test Suite is an extensible open-source platform for performing testing and performance evaluation.' . PHP_EOL;
@@ -245,7 +250,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);
@@ -253,7 +258,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);
@@ -264,19 +269,28 @@ 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');
$pdf_file = PTS_PATH . 'documentation/phoromatic.pdf';
$pdf->Output($pdf_file);
echo PHP_EOL . 'Saved To: ' . $pdf_file . PHP_EOL . PHP_EOL;
$md = new pts_md_template();
$md->html_to_md(PTS_PATH . 'documentation/phoromatic.html');
$md->Output(PTS_PATH . 'documentation/phoromatic.md');
$md = new pts_md_template();
$md->html_to_md(PTS_PATH . 'documentation/phoronix-test-suite-windows.html');
$md->Output(PTS_PATH . 'documentation/phoronix-test-suite-window.md');
}
}

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2010, Phoronix Media
Copyright (C) 2010, Michael Larabel
Copyright (C) 2017, Phoronix Media
Copyright (C) 2017, 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,15 +20,31 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
class pts_test_downloads_nye_XmlReader extends nye_XmlReader
class dump_file_info implements pts_option_interface
{
public function __construct($read_xml)
public static function run($r)
{
parent::__construct($read_xml);
}
public function validate()
{
return $this->dom->schemaValidate(PTS_OPENBENCHMARKING_PATH . 'schemas/test-profile-downloads.xsd');
pts_client::$display->generic_heading('File Information');
if(empty($r))
{
echo PHP_EOL . 'No files passed.' . PHP_EOL;
}
foreach($r as $f)
{
if(!is_file($f))
{
echo PHP_EOL . 'Not a file: ' . $f . PHP_EOL;
}
else
{
echo PHP_EOL . 'FILE: ' . basename($f) . PHP_EOL;
echo 'MD5: ' . md5_file($f) . PHP_EOL;
echo 'SHA256: ' . hash_file('sha256', $f) . PHP_EOL;
echo 'SIZE: ' . filesize($f) . PHP_EOL;
}
}
}
}
?>

View File

@@ -0,0 +1,143 @@
<?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();
if(isset($system_data[$system_identifier]['System Layer']) && !empty($system_data[$system_identifier]['System Layer']))
{
continue;
}
switch($ro->test_profile->get_test_hardware_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]);
$inserts++;
}
}
if($inserts > 0)
{
$ae->insert_composite_hash_entry_by_result_object($comparison_hash, $ro);
}
}
}
$ae->rebuild_composite_listing();
}
}
?>

View File

@@ -0,0 +1,53 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2018, Phoronix Media
Copyright (C) 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 dump_phodevi_properties implements pts_option_interface
{
public static function run($r)
{
$properties = phodevi::read_all_properties();
foreach($properties as $component => $component_properties)
{
echo strtoupper($component) . PHP_EOL;
foreach($component_properties as $property => $value)
{
echo ' ' . $property . ' = ';
if(is_array($value))
{
var_dump($value);
/* echo PHP_EOL;
foreach($value as $i => $j)
echo ' ' . $i . ' = ' . $j . PHP_EOL; */
}
else
{
echo $value . 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) 2009 - 2010, Phoronix Media
Copyright (C) 2009 - 2010, 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')))
{
array_push($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

@@ -0,0 +1,80 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2017, Phoronix Media
Copyright (C) 2017, 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 dump_suites_to_git implements pts_option_interface
{
const doc_section = 'OpenBenchmarking.org';
const doc_description = 'This option will create a Git repository of OpenBenchmarking.org test suites.';
public static function run($r)
{
pts_client::$display->generic_heading('OpenBenchmarking.org Tests To Suites');
$path_to_git = getenv('TEST_SUITES_GIT_PATH') . '/';
if(!pts_client::executable_in_path('git'))
{
echo PHP_EOL . 'git was not found on the system.' . PHP_EOL . PHP_EOL;
return false;
}
if(empty($path_to_git) || !is_dir($path_to_git) || !is_writable($path_to_git))
{
echo PHP_EOL . 'TEST_SUITES_GIT_PATH must be set or the set directory is not writable/present.' . PHP_EOL . PHP_EOL;
return false;
}
shell_exec('cd ' . $path_to_git . ' && git pull');
foreach(pts_openbenchmarking::linked_repositories() as $repo)
{
if($repo == 'local')
{
// Skip local since it's a fake repository
continue;
}
if(!is_dir($path_to_git . $repo))
{
pts_file_io::mkdir($path_to_git . $repo);
}
$repo_index = pts_openbenchmarking::read_repository_index($repo);
$changes = pts_openbenchmarking_client::fetch_repository_changelog_full($repo);
foreach($changes['suites'] as $suite_identifier => $d)
{
foreach($d['changes'] as $suite_version => $dd)
{
$suite = $repo . '/' . $suite_identifier . '-' . $suite_version; // . ' ' . $dd['commit_description'] . ' ' . date('d F Y', $dd['last_updated']) . PHP_EOL;
if(is_dir($path_to_git . $suite))
continue;
pts_openbenchmarking::download_test_suite($suite, $path_to_git);
if(is_dir($path_to_git . $suite))
{
$test_suite = new pts_test_suite($suite);
echo 'git commit -m "' . $suite . ': ' . $dd['commit_description'] . '" --author="' . $test_suite->get_maintainer() . ' <no-reply@openbenchmarking.org>" --date="' . date(DATE_RFC2822, $dd['last_updated']) . '" ' . $suite . PHP_EOL;
shell_exec('cd ' . $path_to_git . ' && git add ' . $suite . ' && git commit -m "' . $suite . ': ' . $dd['commit_description'] . '" --author="' . $test_suite->get_maintainer() . ' <no-reply@openbenchmarking.org>" --date="' . date(DATE_RFC2822, $dd['last_updated']) . '" ' . $suite);
}
}
}
}
}
}
?>

View File

@@ -0,0 +1,81 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2017, Phoronix Media
Copyright (C) 2017, 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 dump_tests_to_git implements pts_option_interface
{
const doc_section = 'OpenBenchmarking.org';
const doc_description = 'This option will create a Git repository of OpenBenchmarking.org test profiles.';
public static function run($r)
{
pts_client::$display->generic_heading('OpenBenchmarking.org Tests To Git');
$path_to_git = getenv('TEST_PROFILES_GIT_PATH') . '/';
if(!pts_client::executable_in_path('git'))
{
echo PHP_EOL . 'git was not found on the system.' . PHP_EOL . PHP_EOL;
return false;
}
if(empty($path_to_git) || !is_dir($path_to_git) || !is_writable($path_to_git))
{
echo PHP_EOL . 'TEST_PROFILES_GIT_PATH must be set or the set directory is not writable/present.' . PHP_EOL . PHP_EOL;
return false;
}
shell_exec('cd ' . $path_to_git . ' && git pull');
foreach(pts_openbenchmarking::linked_repositories() as $repo)
{
if($repo == 'local')
{
// Skip local since it's a fake repository
continue;
}
if(!is_dir($path_to_git . $repo))
{
pts_file_io::mkdir($path_to_git . $repo);
}
$repo_index = pts_openbenchmarking::read_repository_index($repo);
$changes = pts_openbenchmarking_client::fetch_repository_changelog_full($repo);
foreach($changes['tests'] as $test_identifier => $d)
{
foreach($d['changes'] as $test_version => $dd)
{
$test = $repo . '/' . $test_identifier . '-' . $test_version; // . ' ' . $dd['commit_description'] . ' ' . date('d F Y', $dd['last_updated']) . PHP_EOL;
if(is_dir($path_to_git . $test))
continue;
pts_openbenchmarking::download_test_profile($test, $path_to_git);
if(is_dir($path_to_git . $test))
{
$test_profile = new pts_test_profile($test);
$maintainer = $test_profile->get_maintainer() != null ? $test_profile->get_maintainer() : 'Phoronix Test Suite';
echo 'git commit -m "' . $test . ': ' . $dd['commit_description'] . '" --author="' . $maintainer . ' <no-reply@openbenchmarking.org>" --date="' . date(DATE_RFC2822, $dd['last_updated']) . '" ' . $test . PHP_EOL;
shell_exec('cd ' . $path_to_git . ' && git add ' . $test . ' && git commit -m "' . $test . ': ' . $dd['commit_description'] . '" --author="' . $maintainer . ' <no-reply@openbenchmarking.org>" --date="' . date(DATE_RFC2822, $dd['last_updated']) . '" ' . $test);
}
}
}
}
}
}
?>

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2014 - 2015, Phoronix Media
Copyright (C) 2014 - 2015, Michael Larabel
Copyright (C) 2014 - 2018, Phoronix Media
Copyright (C) 2014 - 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
@@ -31,10 +31,6 @@ class edit_result_file implements pts_option_interface
new pts_argument_check(0, array('pts_types', 'is_result_file'), null)
);
}
public static function invalid_command($passed_args = null)
{
pts_tests::recently_saved_results();
}
public static function run($r)
{
$result_file = new pts_result_file($r[0]);

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2014 - 2015, Phoronix Media
Copyright (C) 2014 - 2015, Michael Larabel
Copyright (C) 2014 - 2017, Phoronix Media
Copyright (C) 2014 - 2017, 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
@@ -22,7 +22,7 @@
class enterprise_setup implements pts_option_interface
{
const doc_section = 'Other';
const doc_section = 'User Configuration';
const doc_description = 'This option can be run by enterprise users immediately after package installation or as part of an in-house setup script. Running this command will ensure the phoronix-test-suite program is never interrupted on new runs to accept user agreement changes and defaults the anonymous usage reporting to being disabled and other conservative defaults.';
public static function run($r)

View File

@@ -0,0 +1,63 @@
<?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 estimate_run_time implements pts_option_interface
{
const doc_section = 'Testing';
const doc_description = 'This option will provide estimates for test run-time / length.';
public static function argument_checks()
{
return array(
new pts_argument_check(0, array('pts_types', 'identifier_to_object'))
);
}
public static function run($args)
{
echo PHP_EOL;
if($args[0] == 'pts/all' || empty($args))
{
$args = pts_openbenchmarking::available_tests(false);
}
$tests = array();
$total_time = 0;
$test_count = 0;
foreach($args as $arg)
{
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();
$test_count++;
}
}
if($test_count > 1 && $total_time > 0)
{
echo pts_user_io::display_text_table($tests);
echo PHP_EOL . PHP_EOL . 'TOTAL TIME ESTIMATE: ' . pts_strings::format_time($total_time) . 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) 2009 - 2015, Phoronix Media
Copyright (C) 2009 - 2015, 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
@@ -31,10 +31,6 @@ class finish_run implements pts_option_interface
new pts_argument_check(0, array('pts_result_file', 'is_test_result_file'), null)
);
}
public static function invalid_command($passed_args = null)
{
pts_tests::invalid_command_helper($passed_args);
}
public static function run($args)
{
$save_name = $args[0];
@@ -45,6 +41,12 @@ class finish_run implements pts_option_interface
foreach($result_file->get_result_objects() as $pos => $result_object)
{
// Don't load null test profile identifier tests into the run queue
if($result_object->test_profile->get_identifier() == null)
{
continue;
}
$this_result_object_identifiers = $result_object->test_result_buffer->get_identifiers();
foreach($system_identifiers as $system_identifier)
@@ -56,7 +58,7 @@ class finish_run implements pts_option_interface
$test_positions[$system_identifier] = array();
}
array_push($test_positions[$system_identifier], $pos);
$test_positions[$system_identifier][] = $pos;
}
}
}

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 - 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
@@ -22,9 +22,13 @@
class force_install implements pts_option_interface
{
const doc_section = 'Asset Creation';
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_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 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(
@@ -35,10 +39,6 @@ class force_install implements pts_option_interface
{
pts_test_installer::standard_install($r, true);
}
public static function invalid_command($passed_args = null)
{
pts_tests::invalid_command_helper($passed_args);
}
}
?>

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2012 - 2015, Phoronix Media
Copyright (C) 2012 - 2015, Michael Larabel
Copyright (C) 2012 - 2018, Phoronix Media
Copyright (C) 2012 - 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
@@ -23,7 +23,7 @@
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.';
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.';
public static function command_aliases()
{
@@ -39,6 +39,10 @@ class gui implements pts_option_interface
return false;
}
echo pts_client::cli_just_bold(PHP_EOL . 'THE PHORONIX TEST SUITE WEB GUI IS CURRENTLY DEPRECATED AND UNMAINTAINED. NO FUTURE IMPROVEMENTS TO THIS GUI ARE PLANNED AT THIS TIME UNLESS THERE IS ENTERPRISE SUPPORT INTEREST.' . PHP_EOL . PHP_EOL . 'THOSE WANTING TO MAKE USE OF A PHORONIX TEST SUITE USER-INTERFACE ARE ENCOURAGED TO USE THE PHOROMATIC [https://www.phoromatic.com/] COMPONENT OF THE PHORONIX TEST SUITE. THERE IS ALSO `phoronix-test-suite interactive` and `phoronix-test-suite-shell` FOR A SELF-GUIDED PHORONIX TEST SUITE EXPERIENCE.' . PHP_EOL . PHP_EOL);
echo 'Continuing in 10 seconds...' . PHP_EOL;
sleep(10);
$web_port = 0;
$blocked_ports = array(2049, 3659, 4045, 6000);

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2010 - 2015, Phoronix Media
Copyright (C) 2010 - 2015, Michael Larabel
Copyright (C) 2010 - 2017, Phoronix Media
Copyright (C) 2010 - 2017, 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 help implements pts_option_interface
{
const doc_section = 'Other';
const doc_description = 'This option will display the list of available Phoronix Test Suite commands.';
const doc_description = 'This option will display a list of available Phoronix Test Suite commands and possible parameter types.';
public static function run($r)
{
echo PHP_EOL . pts_core::program_title(true) . PHP_EOL . PHP_EOL;
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;
$options = pts_documentation::client_commands_array();
@@ -38,13 +38,15 @@ class help implements pts_option_interface
continue;
}
echo PHP_EOL . strtoupper($section) . PHP_EOL . PHP_EOL;
echo PHP_EOL . pts_client::cli_just_bold(strtoupper($section)) . PHP_EOL . PHP_EOL;
sort($contents);
$tabled = array();
foreach($contents as &$option)
{
echo ' ' . trim($option[0] . ' ' . implode(' ', $option[1])) . PHP_EOL;
$tabled[] = array($option[0], pts_client::cli_colored_text(implode(' ', $option[1]), 'gray'));
}
echo pts_user_io::display_text_table($tabled, ' ') . 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 - 2015, Phoronix Media
Copyright (C) 2008 - 2015, 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
@@ -47,15 +47,19 @@ class info implements pts_option_interface
if($o instanceof pts_test_suite)
{
pts_client::$display->generic_heading($o->get_title());
echo 'Run Identifier: ' . $o->get_identifier() . PHP_EOL;
echo 'Suite Version: ' . $o->get_version() . PHP_EOL;
echo 'Maintainer: ' . $o->get_maintainer() . PHP_EOL;
echo 'Suite Type: ' . $o->get_suite_type() . PHP_EOL;
echo 'Unique Tests: ' . $o->get_unique_test_count() . PHP_EOL;
echo 'Suite Description: ' . $o->get_description() . PHP_EOL;
echo PHP_EOL;
echo $o->pts_format_contained_tests_string();
echo PHP_EOL;
echo pts_client::cli_just_bold('Suite Description: ') . ' ' . $o->get_description() . PHP_EOL . PHP_EOL;
$table = array();
$table[] = array(pts_client::cli_just_bold('Run Identifier: '), $o->get_identifier());
$table[] = array(pts_client::cli_just_bold('Suite Version: '), $o->get_version());
$table[] = array(pts_client::cli_just_bold('Maintainer: '), $o->get_maintainer());
$table[] = array(pts_client::cli_just_bold('Suite Type: '), $o->get_suite_type());
$table[] = array(pts_client::cli_just_bold('Unique Tests: '), $o->get_unique_test_count());
$table[] = array(pts_client::cli_just_bold('Contained Tests: '));
foreach($o->get_contained_test_result_objects() as $result_obj)
{
$table[] = array(pts_client::cli_just_bold(null), $result_obj->test_profile->get_title() . ' ', $result_obj->get_arguments_description());
}
echo pts_user_io::display_text_table($table) . PHP_EOL;
}
else if($o instanceof pts_test_profile)
{
@@ -67,32 +71,60 @@ class info implements pts_option_interface
}
pts_client::$display->generic_heading($test_title);
echo 'Run Identifier: ' . $o->get_identifier() . PHP_EOL;
echo 'Profile Version: ' . $o->get_test_profile_version() . PHP_EOL;
echo 'Maintainer: ' . $o->get_maintainer() . PHP_EOL;
echo 'Test Type: ' . $o->get_test_hardware_type() . PHP_EOL;
echo 'Software Type: ' . $o->get_test_software_type() . PHP_EOL;
echo 'License Type: ' . $o->get_license() . PHP_EOL;
echo 'Test Status: ' . $o->get_status() . PHP_EOL;
echo 'Project Web-Site: ' . $o->get_project_url() . PHP_EOL;
if($o->get_license() == 'Retail' || $o->get_license() == 'Restricted')
{
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')
{
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;
}
$table = array();
$table[] = array(pts_client::cli_just_bold('Run Identifier: '), $o->get_identifier());
$table[] = array(pts_client::cli_just_bold('Profile Version: '), $o->get_test_profile_version());
$table[] = array(pts_client::cli_just_bold('Maintainer: '), $o->get_maintainer());
$table[] = array(pts_client::cli_just_bold('Test Type: '), $o->get_test_hardware_type());
$table[] = array(pts_client::cli_just_bold('Software Type: '), $o->get_test_software_type());
$table[] = array(pts_client::cli_just_bold('License Type: '), $o->get_license());
$table[] = array(pts_client::cli_just_bold('Test Status: '), $o->get_status());
$table[] = array(pts_client::cli_just_bold('Supported Platforms: '), implode(', ', $o->get_supported_platforms()));
$table[] = array(pts_client::cli_just_bold('Project Web-Site: '), $o->get_project_url());
if($o->get_estimated_run_time() > 1)
{
echo 'Estimated Run-Time: ' . $o->get_estimated_run_time() . ' Seconds' . PHP_EOL;
$table[] = array(pts_client::cli_just_bold('Estimated Run-Time: '), $o->get_estimated_run_time() . ' Seconds');
}
$download_size = $o->get_download_size();
if(!empty($download_size))
{
echo 'Download Size: ' . $download_size . ' MB' . PHP_EOL;
$table[] = array(pts_client::cli_just_bold('Download Size: '), $download_size . ' MB');
}
$environment_size = $o->get_environment_size();
if(!empty($environment_size))
{
echo 'Environment Size: ' . $environment_size . ' MB' . PHP_EOL;
$table[] = array(pts_client::cli_just_bold('Environment Size: '), $environment_size . ' MB');
}
echo PHP_EOL . 'Description: ' . $o->get_description() . PHP_EOL;
echo pts_user_io::display_text_table($table);
echo PHP_EOL . PHP_EOL . pts_client::cli_just_bold('Description: ') . $o->get_description() . PHP_EOL;
if(stripos($o->get_identifier(0), 'local/') === false)
{
echo PHP_EOL . PHP_EOL . pts_client::cli_just_bold('OpenBenchmarking.org Test Profile: ') . 'https://openbenchmarking.org/test/' . $o->get_identifier() . PHP_EOL . PHP_EOL;
}
foreach(array('Pre-Install Message' => $o->get_pre_install_message(), 'Post-Install Message' => $o->get_post_install_message(), 'Pre-Run Message' => $o->get_pre_run_message(), 'Post-Run Message' => $o->get_post_run_message()) as $msg_type => $msg)
{
if($msg != null)
{
echo PHP_EOL . pts_client::cli_just_bold($msg_type . ': ') . $msg . PHP_EOL. PHP_EOL;
}
}
if($o->test_installation != false)
{
@@ -103,52 +135,110 @@ class info implements pts_option_interface
$avg_time = !empty($avg_time) ? pts_strings::format_time($avg_time, 'SECONDS') : 'N/A';
$latest_time = $o->test_installation->get_latest_run_time();
$latest_time = !empty($latest_time) ? pts_strings::format_time($latest_time, 'SECONDS') : 'N/A';
$install_time = ceil($o->test_installation->get_latest_install_time());
$install_time = !empty($install_time) ? pts_strings::format_time($install_time, 'SECONDS') : 'N/A';
echo PHP_EOL . 'Test Installed: Yes' . PHP_EOL;
echo 'Last Run: ' . $last_run . PHP_EOL;
$table = array();
$table[] = array(pts_client::cli_just_bold('Test Installed: '), 'Yes');
$table[] = array(pts_client::cli_just_bold('Last Run: '), $last_run);
$table[] = array(pts_client::cli_just_bold('Install Time: '), $install_time);
if($o->test_installation->get_install_size() > 0)
{
$table[] = array(pts_client::cli_just_bold('Install Size: '), $o->test_installation->get_install_size() . ' Bytes');
}
if($last_run != 'Never')
{
if($o->test_installation->get_run_count() > 1)
{
echo 'Average Run-Time: ' . $avg_time . PHP_EOL;
$table[] = array(pts_client::cli_just_bold('Average Run-Time: '), $avg_time);
}
echo 'Latest Run-Time: ' . $latest_time . PHP_EOL;
echo 'Times Run: ' . $o->test_installation->get_run_count() . PHP_EOL;
$table[] = array(pts_client::cli_just_bold('Latest Run-Time: '), $latest_time);
$table[] = array(pts_client::cli_just_bold('Times Run: '), $o->test_installation->get_run_count());
}
echo pts_user_io::display_text_table($table) . PHP_EOL;
}
else
{
echo PHP_EOL . 'Test Installed: No' . PHP_EOL;
echo PHP_EOL . pts_client::cli_just_bold('Test Installed: ') . 'No' . PHP_EOL;
}
$dependencies = $o->get_dependencies();
$dependencies = $o->get_external_dependencies();
if(!empty($dependencies) && !empty($dependencies[0]))
{
echo PHP_EOL . 'Software Dependencies:' . PHP_EOL;
echo PHP_EOL . pts_client::cli_just_bold('Software Dependencies:') . PHP_EOL;
echo pts_user_io::display_text_list($o->get_dependency_names());
}
echo PHP_EOL;
// OpenBenchmarking.org Change-Log
if(stripos($o->get_identifier(), 'local/') === false && !defined('PHOROMATIC_PROCESS'))
{
$change_log = pts_openbenchmarking_client::fetch_repository_test_profile_changelog($o->get_identifier(false));
if(is_array($change_log) && isset($change_log['tests'][$o->get_identifier_base_name()]['changes']))
{
echo pts_client::cli_just_bold('OpenBenchmarking.org Change History') . PHP_EOL;
$change_log = $change_log['tests'][$o->get_identifier_base_name()]['changes'];
foreach($change_log as $version => $data)
{
echo pts_client::cli_colored_text('v' . $version . ' - ' . date('j F Y', $data['last_updated']), 'green', true) . PHP_EOL;
echo $data['commit_description'] . PHP_EOL;
}
}
}
// Recent Test Results With This Test
if(!defined('PHOROMATIC_PROCESS'))
{
$o_identifier = $o->get_identifier(false);
$table = array();
foreach(pts_client::saved_test_results() as $saved_results_identifier)
{
$result_file = new pts_result_file($saved_results_identifier);
foreach($result_file->get_result_objects() as $result_object)
{
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);
}
}
}
else if($o instanceof pts_result_file)
{
echo 'Title: ' . $o->get_title() . PHP_EOL . 'Identifier: ' . $o->get_identifier() . PHP_EOL;
echo PHP_EOL . 'Test Result Identifiers:' . PHP_EOL;
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)
{
if($result_object->test_profile->get_display_format() == 'BAR_GRAPH')
{
array_push($test_titles, $result_object->test_profile->get_title());
$test_titles[] = $result_object->test_profile->get_title();
}
}
if(count($test_titles) > 0)
{
echo PHP_EOL . 'Contained Tests:' . PHP_EOL;
echo PHP_EOL . pts_client::cli_just_bold('Contained Tests:') . PHP_EOL;
echo pts_user_io::display_text_list(array_unique($test_titles));
}
echo PHP_EOL;
@@ -156,7 +246,7 @@ class info implements pts_option_interface
else if($o instanceof pts_virtual_test_suite)
{
pts_client::$display->generic_heading($o->get_title());
echo 'Virtual Suite Description: ' . $o->get_description() . PHP_EOL . PHP_EOL;
echo pts_client::cli_just_bold('Virtual Suite Description: ') . $o->get_description() . PHP_EOL . PHP_EOL;
foreach($o->get_contained_test_profiles() as $test_profile)
{

View File

@@ -0,0 +1,49 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2018, Phoronix Media
Copyright (C) 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 inspect_test_profile implements pts_option_interface
{
const doc_section = 'Asset Creation';
const doc_description = 'This option can be used for inspecting a Phoronix Test Suite test profile with providing inside details on test profiles for debugging / evaluation / learning purposes.';
public static function run($r)
{
$types = pts_validation::process_xsd_types();
foreach(pts_types::identifiers_to_test_profile_objects($r, true, true) as $test_profile)
{
pts_client::$display->generic_heading($test_profile . ' - test-definition.xml');
pts_validation::process_xsd_display_chart(pts_openbenchmarking::openbenchmarking_standards_path() . 'schemas/test-profile.xsd', $test_profile, $types);
pts_client::$display->generic_heading($test_profile . ' - downloads.xml');
pts_validation::process_xsd_display_chart(pts_openbenchmarking::openbenchmarking_standards_path() . 'schemas/test-profile-downloads.xsd', $test_profile, $types);
pts_client::$display->generic_heading($test_profile . ' - results-definition.xml');
pts_validation::process_xsd_display_chart(pts_openbenchmarking::openbenchmarking_standards_path() . 'schemas/results-parser.xsd', $test_profile, $types);
}
}
public static function argument_checks()
{
return array(
new pts_argument_check(0, array('pts_test_profile', 'is_test_profile'), null)
);
}
}
?>

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2011, Phoronix Media
Copyright (C) 2008 - 2011, 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
@@ -30,10 +30,6 @@ class install_test implements pts_option_interface
{
return array('install');
}
public static function invalid_command($passed_args = null)
{
pts_tests::invalid_command_helper($passed_args);
}
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) 2011 - 2015, Phoronix Media
Copyright (C) 2011 - 2015, Michael Larabel
Copyright (C) 2011 - 2018, Phoronix Media
Copyright (C) 2011 - 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
@@ -29,18 +29,23 @@ class interactive implements pts_option_interface
{
pts_openbenchmarking::refresh_repository_lists();
pts_client::$display->generic_heading('Interactive Benchmarking');
echo 'System Hardware:' . PHP_EOL . phodevi::system_hardware(true) . (phodevi::read_property('motherboard', 'serial-number') != null ? PHP_EOL . 'System Serial Number: ' . phodevi::read_property('motherboard', 'serial-number') : null) . PHP_EOL . PHP_EOL . PHP_EOL;
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') : null) . PHP_EOL . PHP_EOL;
$reboot_on_exit = false;
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 Auto-Detected System Sensors',
'SET_RUN_COUNT' => 'Set Test Run Repetition'
'SHOW_SENSORS' => 'Show Available System Sensors',
'LIST_TESTS' => 'List Available Tests',
'LIST_RECOMMENDED_TESTS' => 'List Recommended Tests',
// 'SET_RUN_COUNT' => 'Set Test Run Repetition',
'SEARCH' => 'Search Tests / Suites / Results'
);
if(count(pts_client::saved_test_results()) > 0)
@@ -54,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;
@@ -80,7 +90,7 @@ 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);
@@ -90,12 +100,55 @@ class interactive implements pts_option_interface
pts_client::display_web_page(PTS_SAVE_RESULTS_PATH . $run_manager->get_file_name() . '/index.html', null, true, true);
}
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();
foreach(array_map('strtolower', pts_types::subsystem_targets()) as $subsystem)
{
array_push($possible_suites, 'pts/' . $subsystem);
$possible_suites[] = 'pts/' . $subsystem;
}
$suites_to_run = pts_user_io::prompt_text_menu('Select Suite', $possible_suites, true);
@@ -109,44 +162,41 @@ class interactive implements pts_option_interface
case 'SELECT_DRIVE_MOUNT':
self::select_drive_mount();
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);
}
case 'SEARCH':
pts_client::execute_command('search');
break;
case 'SHOW_INFO':
pts_client::$display->generic_heading('System Software / Hardware Information');
echo 'Hardware:' . PHP_EOL . phodevi::system_hardware(true) . PHP_EOL . PHP_EOL;
echo 'Software:' . PHP_EOL . phodevi::system_software(true) . PHP_EOL . PHP_EOL;
pts_client::execute_command('system_info');
break;
case 'SHOW_SENSORS':
pts_client::execute_command('system_sensors');
break;
case 'LIST_TESTS':
pts_client::execute_command('list_available_tests');
break;
case 'LIST_RECOMMENDED_TESTS':
pts_client::execute_command('list_recommended_tests');
break;
case 'SET_RUN_COUNT':
$run_count = pts_user_io::prompt_user_input('Set the minimum number of times each test should repeat', false);
putenv('FORCE_TIMES_TO_RUN=' . trim($run_count));
break;
case 'BACKUP_RESULTS_TO_USB':
pts_client::$display->generic_heading('Backing Up Test Results');
foreach(pts_file_io::glob('/media/*') as $media_dir)
$writable_backup_locations = array();
foreach(array_merge(pts_file_io::glob('/media/*'), pts_file_io::glob('/run/media/*/*')) as $media_dir)
{
if(!is_writable($media_dir))
if(is_writable($media_dir))
{
echo PHP_EOL . $media_dir . ' is not writable.' . PHP_EOL;
continue;
$writable_backup_locations[] = $media_dir;
}
echo PHP_EOL . 'Writing Test Results To: ' . $media_dir . PHP_EOL;
pts_file_io::copy(PTS_SAVE_RESULTS_PATH, $media_dir . '/');
break;
}
$backup_location = pts_user_io::prompt_text_menu('Select Backup Location', $writable_backup_locations);
$backup_location .= '/phoronix-test-suite-test-results/';
pts_file_io::mkdir($backup_location);
echo PHP_EOL . pts_client::cli_just_bold('Writing Test Results To: ') . $backup_location . PHP_EOL;
pts_file_io::copy(PTS_SAVE_RESULTS_PATH, $backup_location . '/');
break;
}
echo PHP_EOL . PHP_EOL;
@@ -161,7 +211,7 @@ class interactive implements pts_option_interface
exec('umount /media/pts-auto-mount 2>&1');
}
exec('reboot');
phodevi::reboot();
}
}
private static function select_drive_mount()
@@ -174,7 +224,7 @@ class interactive implements pts_option_interface
}
else
{
array_push($drives, 'No HDD');
$drives[] = 'No HDD';
$to_mount = pts_user_io::prompt_text_menu('Select Drive / Partition To Mount', $drives);
if($to_mount != 'No HDD')

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2013 - 2015, Phoronix Media
Copyright (C) 2013 - 2015, Michael Larabel
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
@@ -45,10 +45,6 @@ class internal_run implements pts_option_interface
$test_run_manager->standard_run($r);
}
public static function invalid_command($passed_args = null)
{
pts_tests::invalid_command_helper($passed_args);
}
}
?>

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 - 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
@@ -31,7 +31,7 @@ class list_available_suites implements pts_option_interface
}
public static function run($r)
{
$available_suites = pts_openbenchmarking::available_suites(false);
$available_suites = pts_tests::all_suites();
pts_client::$display->generic_heading('Available Suites');
if(count($available_suites) > 0)

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2015, Phoronix Media
Copyright (C) 2008 - 2015, 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
@@ -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.';
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,30 +32,48 @@ 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(!in_array(phodevi::operating_system(), $repo_index['tests'][$id]['supported_platforms']) || empty($repo_index['tests'][$id]['title']))
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(!empty($repo_index['tests'][$id]['status']) && $repo_index['tests'][$id]['status'] != 'Verified')
{
// 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++;
}
foreach(pts_file_io::glob(PTS_TEST_PROFILE_PATH . 'local/*/test-definition.xml') as $path)
foreach(pts_tests::local_tests() as $identifier)
{
$test_profile = new pts_test_profile('local/' . basename(dirname($path)));
$test_profile = new pts_test_profile($identifier);
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

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2009 - 2013, Phoronix Media
Copyright (C) 2009 - 2013, Michael Larabel
Copyright (C) 2009 - 2016, Phoronix Media
Copyright (C) 2009 - 2016, 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,7 +34,7 @@ class list_installed_suites implements pts_option_interface
$suite = new pts_test_suite($suite);
if($suite->needs_updated_install() == false)
{
array_push($installed_suites, $suite);
$installed_suites[] = $suite;
}
}

View File

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2011, Phoronix Media
Copyright (C) 2008 - 2011, Michael Larabel
Copyright (C) 2008 - 2016, Phoronix Media
Copyright (C) 2008 - 2016, 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

@@ -0,0 +1,82 @@
<?php
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2016 - 2018, Phoronix Media
Copyright (C) 2016 - 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_not_installed_tests implements pts_option_interface
{
const doc_section = 'Information';
const doc_description = 'This option will list all test profiles that are supported and available but presently NOT installed on the system.';
public static function command_aliases()
{
return array('list_uninstalled_tests');
}
public static function run($r)
{
pts_client::$display->generic_heading('Available Tests Not Installed');
$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;
}
$test_profile = new pts_test_profile($identifier);
if($test_profile->is_test_installed())
{
// Only show uninstalled tests
continue;
}
echo sprintf('%-30ls - %-35ls %-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->is_test_installed())
{
// Only show uninstalled tests
continue;
}
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;
$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) 2012, Phoronix Media
Copyright (C) 2012, Michael Larabel
Copyright (C) 2012 - 2018, Phoronix Media
Copyright (C) 2012 - 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
@@ -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

@@ -3,8 +3,8 @@
/*
Phoronix Test Suite
URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
Copyright (C) 2008 - 2012, Phoronix Media
Copyright (C) 2008 - 2012, Michael Larabel
Copyright (C) 2008 - 2017, Phoronix Media
Copyright (C) 2008 - 2017, 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
@@ -32,7 +32,8 @@ class list_test_usage implements pts_option_interface
if(count($installed_tests) > 0)
{
echo sprintf('%-18ls %-8ls %-13ls %-11ls %-13ls %-10ls', 'TEST', 'VERSION', 'INSTALL DATE', 'LAST RUN', 'AVG RUN-TIME', 'TIMES RUN') . PHP_EOL;
echo sprintf('%-32ls %-12ls %-11ls %-8ls %-6ls', 'TEST', 'INSTALL', 'LAST RUN', 'AVERAGE', 'TIMES') . PHP_EOL;
echo sprintf('%-32ls %-12ls %-11ls %-8ls %-6ls', '', 'DATE', 'DATE', 'RUNTIME', 'RUN') . PHP_EOL;
foreach($installed_tests as $identifier)
{
$test_profile = new pts_test_profile($identifier);
@@ -45,7 +46,7 @@ class list_test_usage implements pts_option_interface
$last_run = $test_profile->test_installation->get_last_run_date();
$last_run = $last_run == '0000-00-00' ? 'NEVER' : $last_run;
echo sprintf('%-18ls - %-8ls %-13ls %-11ls %-13ls %-10ls', $identifier, $test_profile->test_installation->get_installed_version(), $test_profile->test_installation->get_install_date(), $last_run, $avg_time, $test_profile->test_installation->get_run_count()) . PHP_EOL;
echo sprintf('%-32ls %-12ls %-11ls %-8ls %-6ls', $identifier, $test_profile->test_installation->get_install_date(), $last_run, $avg_time, $test_profile->test_installation->get_run_count()) . 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;
}
}

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