Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/pkg
Path: blob/main/external/libucl/tests/run_tests.sh
2066 views
1
#!/bin/sh
2
3
if [ $# -lt 1 ] ; then
4
echo 'Specify binary to run as the first argument'
5
exit 1
6
fi
7
8
9
for _tin in ${TEST_DIR}/*.in ; do
10
_t=`echo $_tin | sed -e 's/.in$//'`
11
$1 $_t.in $_t.out
12
if [ $? -ne 0 ] ; then
13
echo "Test: $_t failed, output:"
14
cat $_t.out
15
rm $_t.out
16
exit 1
17
fi
18
if [ -f $_t.res ] ; then
19
diff -s $_t.out $_t.res -u 2>/dev/null
20
if [ $? -ne 0 ] ; then
21
rm $_t.out
22
echo "Test: $_t output mismatch"
23
exit 1
24
fi
25
fi
26
rm $_t.out
27
done
28
29
if [ $# -gt 2 ] ; then
30
$3 ${TEST_DIR}/generate.out
31
diff -s ${TEST_DIR}/generate.out ${TEST_DIR}/generate.res -u 2>/dev/null
32
if [ $? -ne 0 ] ; then
33
rm ${TEST_DIR}/generate.out
34
echo "Test: generate.res output mismatch"
35
exit 1
36
fi
37
rm ${TEST_DIR}/generate.out
38
fi
39
40
if [ $# -gt 3 ] ; then
41
rm /tmp/_ucl_test_schema.out ||true
42
for i in ${TEST_DIR}/schema/*.json ; do
43
_name=`basename $i`
44
printf "running schema test suite $_name... "
45
cat $i | $4 >> /tmp/_ucl_test_schema.out && ( echo "OK" ) || ( echo "Fail" )
46
done
47
fi
48
49
sh -c "xz -c < /dev/null > /dev/null"
50
if [ $? -eq 0 -a $# -gt 1 ] ; then
51
echo 'Running speed tests'
52
for _tin in ${TEST_DIR}/*.xz ; do
53
echo "Unpacking $_tin..."
54
xz -cd < $_tin > ${TEST_DIR}/test_file
55
# Preread file to cheat benchmark!
56
cat ${TEST_DIR}/test_file > /dev/null
57
echo "Starting benchmarking for $_tin..."
58
$2 ${TEST_DIR}/test_file
59
if [ $? -ne 0 ] ; then
60
echo "Test: $_tin failed"
61
rm ${TEST_DIR}/test_file
62
exit 1
63
fi
64
rm ${TEST_DIR}/test_file
65
done
66
fi
67
68
69