ovni/test/ovni-driver.sh

52 lines
997 B
Bash
Raw Normal View History

2021-12-10 17:12:27 +01:00
#!/bin/sh
2023-03-24 19:22:13 +01:00
# Copyright (c) 2021-2023 Barcelona Supercomputing Center (BSC)
2022-09-19 12:39:02 +02:00
# SPDX-License-Identifier: GPL-3.0-or-later
2021-12-10 17:12:27 +01:00
set -ex
2021-12-10 17:12:27 +01:00
if [ -n "$OVNI_TEST_VERBOSE" ]; then
set -x
fi
2022-08-22 16:40:08 +02:00
dir=$(readlink -f "${OVNI_CURRENT_DIR}")
testname="$dir/$1"
workdir="${testname}.dir"
2022-08-22 16:40:08 +02:00
tracedir="${workdir}/ovni"
emubin="${OVNI_BUILD_DIR}/ovniemu"
sortbin="${OVNI_BUILD_DIR}/ovnisort"
2021-12-10 17:12:27 +01:00
rm -rf "${workdir}"
2022-08-22 16:40:08 +02:00
mkdir -p "${workdir}"
cd "${workdir}"
2021-12-10 17:12:27 +01:00
2022-08-22 16:40:08 +02:00
if [ -z "$OVNI_NPROCS" ]; then
OVNI_NPROCS=1
fi
2021-12-10 17:12:27 +01:00
2022-08-22 16:40:08 +02:00
if [ "$OVNI_NPROCS" -gt 1 ]; then
for i in $(seq 1 "$OVNI_NPROCS"); do
# Run the test in the background
OVNI_RANK=$(($i-1)) OVNI_NRANKS=$OVNI_NPROCS "$testname" &
done
wait
else
"$testname"
fi
2021-12-10 17:12:27 +01:00
if [ -n "$OVNI_DO_SORT" ]; then
"$sortbin" "$tracedir"
fi
if [ -z "$OVNI_NOEMU" ]; then
# Then launch the emulator in lint mode
"$emubin" $OVNI_EMU_ARGS -l "$tracedir"
fi
2021-12-10 17:12:27 +01:00
# Run any post script that was generated
ls -1 *.sh | while read sh; do
echo "Running '$sh'"
2023-02-24 16:53:37 +01:00
bash -ex $sh
done
2021-12-10 17:12:27 +01:00
#rm -rf $tracedir