diff options
author | Klaus Aehlig <klaus.aehlig@huawei.com> | 2023-08-17 14:46:10 +0200 |
---|---|---|
committer | Klaus Aehlig <klaus.aehlig@huawei.com> | 2023-08-17 14:46:10 +0200 |
commit | 95ce31bfff1beebae8971a1bcdbff92cf929f15d (patch) | |
tree | 3fe7aa2ad06d38b1fcfd7ef4e108840d22f79ba1 /rules/shell/test/runner | |
parent | d8bdfc71c77793425b7069855c1aa89a537d05a3 (diff) | |
parent | e677af4cb380e42b750a85f158fd33e491832489 (diff) | |
download | rules-cc-95ce31bfff1beebae8971a1bcdbff92cf929f15d.tar.gz |
Merge subtree 'rules' into rules-cc
Diffstat (limited to 'rules/shell/test/runner')
-rwxr-xr-x | rules/shell/test/runner | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/rules/shell/test/runner b/rules/shell/test/runner new file mode 100755 index 0000000..97c75ef --- /dev/null +++ b/rules/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 |