summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorLucas De Marchi <lucas.demarchi@intel.com>2018-03-14 17:59:07 -0700
committerPetri Latvala <petri.latvala@intel.com>2018-03-21 13:12:28 +0200
commit5febee209a63ce9eac19ce294c870ddcf9a59d2e (patch)
tree8618a64a2949fc22a05a31f6503cdbad3df1a888 /scripts
parent94e886203a99ef19b8319489a45cd348e76e8ccd (diff)
run-tests.sh: allow to run without sudo
If the script is already running as root, it doens't need to be executed through sudo. This also moves the calls to exec piglit to a common function. Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/run-tests.sh23
1 files changed, 19 insertions, 4 deletions
diff --git a/scripts/run-tests.sh b/scripts/run-tests.sh
index a98e06ce..1c3f2805 100755
--- a/scripts/run-tests.sh
+++ b/scripts/run-tests.sh
@@ -44,6 +44,21 @@ function download_piglit {
git clone git://anongit.freedesktop.org/piglit "$ROOT/piglit"
}
+function run_piglit # as-root <args>
+{
+ local need_root=$1
+ shift
+ local sudo
+
+ export IGT_TEST_ROOT IGT_CONFIG_PATH
+
+ if [ "$need_root" -ne 0 -a "$EUID" -ne 0 ]; then
+ sudo="sudo --preserve-env=IGT_TEST_ROOT,IGT_CONFIG_PATH"
+ fi
+
+ $sudo $PIGLIT "$@"
+}
+
function print_help {
echo "Usage: run-tests.sh [options]"
echo "Available options:"
@@ -111,18 +126,18 @@ if [ ! -x "$PIGLIT" ]; then
fi
if [ "x$LIST_TESTS" != "x" ]; then
- IGT_TEST_ROOT="$IGT_TEST_ROOT" IGT_CONFIG_PATH="$IGT_CONFIG_PATH" "$PIGLIT" print-cmd --format "{name}" igt
+ run_piglit 0 print-cmd --format "{name}" igt
exit
fi
if [ "x$RESUME" != "x" ]; then
- sudo IGT_TEST_ROOT="$IGT_TEST_ROOT" IGT_CONFIG_PATH="$IGT_CONFIG_PATH" "$PIGLIT" resume "$RESULTS" $NORETRY
+ run_piglit 1 resume "$RESULTS" $NORETRY
else
mkdir -p "$RESULTS"
- sudo IGT_TEST_ROOT="$IGT_TEST_ROOT" IGT_CONFIG_PATH="$IGT_CONFIG_PATH" "$PIGLIT" run igt --ignore-missing -o "$RESULTS" -s $VERBOSE $EXCLUDE $FILTER
+ run_piglit 1 run igt --ignore-missing -o "$RESULTS" -s $VERBOSE $EXCLUDE $FILTER
fi
if [ "$SUMMARY" == "html" ]; then
- "$PIGLIT" summary html --overwrite "$RESULTS/html" "$RESULTS"
+ run_piglit 0 summary html --overwrite "$RESULTS/html" "$RESULTS"
echo "HTML summary has been written to $RESULTS/html/index.html"
fi