summaryrefslogtreecommitdiff
path: root/shell/test/runner
diff options
context:
space:
mode:
authorKlaus Aehlig <klaus.aehlig@huawei.com>2023-08-17 14:45:05 +0200
committerKlaus Aehlig <klaus.aehlig@huawei.com>2023-08-17 14:45:05 +0200
commite677af4cb380e42b750a85f158fd33e491832489 (patch)
tree23e4ce280473b4b3390b25b515cb72c93d3d3652 /shell/test/runner
parent54bb2a33b3e36123f8f411f77ec8e76f5b021e3d (diff)
parent78540814ad421bc02a4f6c7396d81c38c95ef503 (diff)
downloadrules-cc-e677af4cb380e42b750a85f158fd33e491832489.tar.gz
Merge branch 'just-rules' into rules
Diffstat (limited to 'shell/test/runner')
-rwxr-xr-xshell/test/runner59
1 files changed, 59 insertions, 0 deletions
diff --git a/shell/test/runner b/shell/test/runner
new file mode 100755
index 0000000..97c75ef
--- /dev/null
+++ b/shell/test/runner
@@ -0,0 +1,59 @@
+#!/bin/sh
+# Copyright 2022 Huawei Cloud Computing Technology Co., Ltd.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+# ensure all required outputs are present
+touch stdout
+touch stderr
+RESULT=UNKNOWN
+echo "${RESULT}" > result
+echo UNKNOWN > time-start
+echo UNKNOWN > time-stop
+
+mkdir scratch
+export TEST_TMPDIR=$(realpath scratch)
+export TMPDIR="${TEST_TMPDIR}"
+export LD_LIBRARY_PATH=$(realpath ./libs):$LD_LIBRARY_PATH
+
+# Change to the working directory; note: while unlikely, the test
+# might not have test data, so we have to ensure the presence of
+# the work directory.
+mkdir -p work
+cd work
+
+date +%s > ../time-start
+# TODO:
+# - proper wrapping with timeout
+if sh ../test.sh > ../stdout 2> ../stderr
+then
+ RESULT=PASS
+else
+ RESULT=FAIL
+fi
+date +%s > ../time-stop
+
+# Ensure all the promissed output files in the work directory
+# are present, even if the test failed to create them.
+for f in "$@"
+do
+ touch "./${f}"
+done
+
+echo "${RESULT}" > ../result
+
+if [ "${RESULT}" '!=' PASS ]
+then
+ exit 1;
+fi