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
|
|
|
|
2023-02-02 14:00:50 +01:00
|
|
|
set -ex
|
2021-12-10 17:12:27 +01:00
|
|
|
|
2022-10-07 11:24:04 +02: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}.trace"
|
|
|
|
tracedir="${workdir}/ovni"
|
|
|
|
emubin="${OVNI_BUILD_DIR}/ovniemu"
|
2022-10-07 11:24:04 +02:00
|
|
|
sortbin="${OVNI_BUILD_DIR}/ovnisort"
|
2021-12-10 17:12:27 +01:00
|
|
|
|
2023-04-25 16:49:17 +02: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
|
|
|
|
2022-10-07 11:24:04 +02:00
|
|
|
if [ -n "$OVNI_DO_SORT" ]; then
|
|
|
|
"$sortbin" "$tracedir"
|
|
|
|
fi
|
|
|
|
|
2021-12-10 17:12:27 +01:00
|
|
|
# Then launch the emulator in lint mode
|
2023-03-24 19:22:13 +01:00
|
|
|
"$emubin" $OVNI_EMU_ARGS -l "$tracedir"
|
2021-12-10 17:12:27 +01:00
|
|
|
|
2023-02-24 11:58:00 +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
|
2023-02-24 11:58:00 +01:00
|
|
|
done
|
|
|
|
|
2021-12-10 17:12:27 +01:00
|
|
|
#rm -rf $tracedir
|