#!/bin/sh
#
# Phoronix Test Suite
# URLs: http://www.phoronix.com, http://www.phoronix-test-suite.com/
# Copyright (C) 2008, Phoronix Media
# Copyright (C) 2008, Michael Larabel
# phoronix-test-suite: The Phoronix Test Suite is an extensible open-source testing platform for Linux.
#
# 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 .
#
# Full path to root directory of the actual Phoronix Test Suite code
export PTS_DIR=`pwd`
if [ $PTS_DIR != `pwd` ]
then
cd $PTS_DIR
fi
# Location to save results, download cache, results viewer, etc. Must have trailing slash.
export PTS_USER_DIR=$HOME'/.phoronix-test-suite/'
# Determine PHP binary location
if [ -x /usr/bin/php5 ] || [ -x /usr/local/bin/php5 ]
then
export PHP_BIN="php5"
elif [ -x /usr/bin/php ] || [ -x /usr/local/bin/php ]
then
export PHP_BIN="php"
elif [ -x /usr/php5/bin/php ]
then
export PHP_BIN="/usr/php5/bin/php"
else
export PHP_BIN=""
fi
# Make sure PHP is installed
if [ "X$PHP_BIN" = "X" ]
then
cat <<'EOT'
PHP5 CLI Must Be Installed To Run The Phoronix Test Suite!
Only PHP For The Command Line Is Needed, Not A Complete PHP w/ Web Server Installation
The PHP CLI package is usually called php-cli or php5-cli. Also required is the PHP GD library (php-gd)
For support visit: http://www.phoronix.com/forums/forumdisplay.php?f=49
EOT
exit
fi
case "$1" in
"install")
$PHP_BIN pts-core/pts-run-cmd.php INSTALL_TEST $2
;;
"force-install")
$PHP_BIN pts-core/pts-run-cmd.php FORCE_INSTALL_TEST $2
;;
"install-dependencies")
$PHP_BIN pts-core/pts-run-cmd.php INSTALL_EXTERNAL_DEPENDENCIES $2
;;
"install-all")
$PHP_BIN pts-core/pts-run-cmd.php INSTALL_ALL
;;
"force-install-all")
$PHP_BIN pts-core/pts-run-cmd.php FORCE_INSTALL_ALL
;;
"run")
$PHP_BIN pts-core/pts-run-test.php $2
;;
"batch-run")
export PTS_BATCH_MODE=1
$PHP_BIN pts-core/pts-run-test.php $2
;;
"benchmark")
export SILENT_INSTALL=1
$PHP_BIN pts-core/pts-run-cmd.php INSTALL_TEST $2
$PHP_BIN pts-core/pts-run-test.php $2
;;
"batch-benchmark")
export PTS_BATCH_MODE=1
export SILENT_INSTALL=1
$PHP_BIN pts-core/pts-run-cmd.php INSTALL_TEST $2
$PHP_BIN pts-core/pts-run-test.php $2
;;
"merge-results")
$PHP_BIN pts-core/pts-run-cmd.php MERGE_RESULTS $2 $3 $4
;;
"analyze" | "analyze-results")
$PHP_BIN pts-core/pts-run-cmd.php ANALYZE_RESULTS $2 $3
;;
"remove-result")
$PHP_BIN pts-core/pts-run-cmd.php REMOVE_RESULT $2
;;
"remove-all-results")
$PHP_BIN pts-core/pts-run-cmd.php REMOVE_ALL_RESULTS
;;
"upload" | "upload-result" | "upload-saved-result")
$PHP_BIN pts-core/pts-run-cmd.php UPLOAD_RESULT $2
;;
"make-download-cache")
$PHP_BIN pts-core/pts-run-cmd.php MAKE_DOWNLOAD_CACHE
;;
"list-tests")
$PHP_BIN pts-core/pts-run-cmd.php LIST_TESTS
;;
"list-all-tests" | "list-tests-all")
$PHP_BIN pts-core/pts-run-cmd.php LIST_ALL_TESTS
;;
"list-suites")
$PHP_BIN pts-core/pts-run-cmd.php LIST_SUITES
;;
"list-modules")
$PHP_BIN pts-core/pts-run-cmd.php LIST_MODULES
;;
"list-possible-dependencies")
$PHP_BIN pts-core/pts-run-cmd.php LIST_POSSIBLE_EXTERNAL_DEPENDENCIES
;;
"list-installed-tests")
$PHP_BIN pts-core/pts-run-cmd.php LIST_INSTALLED_TESTS
;;
"list-usage" | "list-test-usage")
$PHP_BIN pts-core/pts-run-cmd.php LIST_TEST_USAGE
;;
"list-results" | "list-saved-results" | "list-test-results")
$PHP_BIN pts-core/pts-run-cmd.php LIST_SAVED_RESULTS
;;
"show-result" | "show-results" | "view-result" | "view-results")
$PHP_BIN pts-core/pts-run-cmd.php SHOW_RESULT $2
;;
"info" | "suite-info" | "suite-information" | "test-info" | "test-information")
$PHP_BIN pts-core/pts-run-cmd.php INFO $2
;;
"module-info")
$PHP_BIN pts-core/pts-run-cmd.php MODULE_INFO $2
;;
"system-info" | "system-information")
$PHP_BIN pts-core/pts-run-cmd.php SYS_INFO
;;
"diagnostics")
$PHP_BIN pts-core/pts-run-cmd.php DIAGNOSTICS_DUMP
;;
"clone")
$PHP_BIN pts-core/pts-run-cmd.php CLONE $2
;;
"initial-config")
$PHP_BIN pts-core/pts-run-cmd.php INITIAL_CONFIG
;;
"version")
$PHP_BIN pts-core/pts-run-cmd.php VERSION
;;
"login")
$PHP_BIN pts-core/pts-run-cmd.php LOGIN
;;
"batch-setup")
$PHP_BIN pts-core/pts-run-cmd.php BATCH_SETUP
;;
"refresh-graph" | "refresh-graphs" | "refresh-result")
$PHP_BIN pts-core/pts-run-cmd.php REFRESH_GRAPHS $2
;;
"test-module" | "debug-module")
if [ "$1" = "debug-module" ]
then
export PTS_DEBUG=1
fi
export PTS_IGNORE_MODULES=1
$PHP_BIN pts-core/pts-run-cmd.php TEST_MODULE $2
;;
"sensors" | "sensor-options")
echo "\nThis option was dropped from the Phoronix Test Suite. For more information and the replacement option, view the latest documentation.\n"
;;
*)
cat <<'EOT'
=================================
Phoronix Test Suite
URL: http://www.phoronix-test-suite.com/
=================================
Installation Options:
install : Install or update the specified suite/test(s)
install-dependencies : Install the external (distribution-level) dependencies
install-all: Install or update all available tests
list-installed-tests: List all tests that are installed
Testing Options:
benchmark : Install and then run the test(s)
run : Run the specified test(s)
list-tests: List all tests and relevant information
list-suites: List all suites and relevant information
Batch Testing Options:
batch-setup: Setup the batch mode options
batch-run : Run the specified test(s) in batch mode
batch-benchmark : Install and run the test(s) in batch mode
analyze : Provide an analysis of the results generated from a batch run
Result Viewing Options:
list-results: List all saved results
show-result : Show this result file in your web browser
remove-result : Remove this saved result file
remove-all-results: Removes all saved results
merge-results : Merge two sets of results
upload : Upload a saved set of results to Phoronix Global
login: Enter your Phoronix Global log-in information for uploading results
Module Options:
list-modules: List all installed/available PTS modules
module-info: Show detailed information on a PTS module
Miscellaneous Options:
make-download-cache: Backup all downloaded test files to ~/.phoronix-test-suite/download-cache/
info : Show detailed information about a test or suite
system-info: Show detected software and hardware information
diagnostics: Useful information when reporting a bug or problem
version: Print the Phoronix Test Suite version and code-name
EOT
;;
esac