|
19 | 19 | # For additional information about the PCG random number generation scheme, |
20 | 20 | # visit http://www.pcg-random.org/. |
21 | 21 | # |
| 22 | +# Determine where the executables are |
| 23 | +# Priority: Current Dir -> ../build/test-high/Debug -> ../build/test-high/Release -> ../build/test-high |
| 24 | +BASEDIR=$(dirname "$0") |
| 25 | +cd "$BASEDIR" |
| 26 | + |
| 27 | +BINDIR="." |
| 28 | +if [ ! -f "./check-pcg32" ] && [ ! -f "./check-pcg32.exe" ]; then |
| 29 | + if [ -f "../build/test-high/Debug/check-pcg32.exe" ]; then |
| 30 | + BINDIR="../build/test-high/Debug" |
| 31 | + elif [ -f "../build/test-high/Release/check-pcg32.exe" ]; then |
| 32 | + BINDIR="../build/test-high/Release" |
| 33 | + elif [ -f "../build/test-high/check-pcg32.exe" ]; then |
| 34 | + BINDIR="../build/test-high" |
| 35 | + elif [ -f "../build/test-high/check-pcg32" ]; then |
| 36 | + BINDIR="../build/test-high" |
| 37 | + fi |
| 38 | +fi |
| 39 | + |
| 40 | +# Function to run a test, handling potential .exe extension |
| 41 | +run_test() { |
| 42 | + TEST_NAME=$1 |
| 43 | + if [ -f "$BINDIR/$TEST_NAME.exe" ]; then |
| 44 | + "$BINDIR/$TEST_NAME.exe" |
| 45 | + elif [ -f "$BINDIR/$TEST_NAME" ]; then |
| 46 | + "$BINDIR/$TEST_NAME" |
| 47 | + else |
| 48 | + echo "ERROR: $TEST_NAME not found in $BINDIR" >&2 |
| 49 | + return 1 |
| 50 | + fi |
| 51 | +} |
22 | 52 |
|
23 | 53 | echo Performing a quick sanity check... |
| 54 | +echo "Testing using binaries from: $BINDIR" |
24 | 55 |
|
25 | 56 | mkdir -p actual |
26 | 57 | rm -f actual/* |
27 | 58 |
|
28 | | -./check-pcg32 > actual/check-pcg32.out |
29 | | -./check-pcg32_oneseq > actual/check-pcg32_oneseq.out |
30 | | -./check-pcg32 > /dev/null |
31 | | -./check-pcg32_fast > actual/check-pcg32_fast.out |
| 59 | +run_test check-pcg32 > actual/check-pcg32.out |
| 60 | +run_test check-pcg32_oneseq > actual/check-pcg32_oneseq.out |
| 61 | +run_test check-pcg32 > /dev/null |
| 62 | +run_test check-pcg32_fast > actual/check-pcg32_fast.out |
32 | 63 |
|
33 | | -./check-pcg64 > actual/check-pcg64.out |
34 | | -./check-pcg64_oneseq > actual/check-pcg64_oneseq.out |
35 | | -./check-pcg64_unique > /dev/null |
36 | | -./check-pcg64_fast > actual/check-pcg64_fast.out |
| 64 | +run_test check-pcg64 > actual/check-pcg64.out |
| 65 | +run_test check-pcg64_oneseq > actual/check-pcg64_oneseq.out |
| 66 | +run_test check-pcg64_unique > /dev/null |
| 67 | +run_test check-pcg64_fast > actual/check-pcg64_fast.out |
37 | 68 |
|
38 | | -./check-pcg8_once_insecure > actual/check-pcg8_once_insecure.out |
39 | | -./check-pcg16_once_insecure > actual/check-pcg16_once_insecure.out |
40 | | -./check-pcg32_once_insecure > actual/check-pcg32_once_insecure.out |
41 | | -./check-pcg64_once_insecure > actual/check-pcg64_once_insecure.out |
42 | | -./check-pcg128_once_insecure > actual/check-pcg128_once_insecure.out |
| 69 | +run_test check-pcg8_once_insecure > actual/check-pcg8_once_insecure.out |
| 70 | +run_test check-pcg16_once_insecure > actual/check-pcg16_once_insecure.out |
| 71 | +run_test check-pcg32_once_insecure > actual/check-pcg32_once_insecure.out |
| 72 | +run_test check-pcg64_once_insecure > actual/check-pcg64_once_insecure.out |
| 73 | +run_test check-pcg128_once_insecure > actual/check-pcg128_once_insecure.out |
43 | 74 |
|
44 | | -./check-pcg8_oneseq_once_insecure > actual/check-pcg8_oneseq_once_insecure.out |
45 | | -./check-pcg16_oneseq_once_insecure > actual/check-pcg16_oneseq_once_insecure.out |
46 | | -./check-pcg32_oneseq_once_insecure > actual/check-pcg32_oneseq_once_insecure.out |
47 | | -./check-pcg64_oneseq_once_insecure > actual/check-pcg64_oneseq_once_insecure.out |
48 | | -./check-pcg128_oneseq_once_insecure > actual/check-pcg128_oneseq_once_insecure.out |
| 75 | +run_test check-pcg8_oneseq_once_insecure > actual/check-pcg8_oneseq_once_insecure.out |
| 76 | +run_test check-pcg16_oneseq_once_insecure > actual/check-pcg16_oneseq_once_insecure.out |
| 77 | +run_test check-pcg32_oneseq_once_insecure > actual/check-pcg32_oneseq_once_insecure.out |
| 78 | +run_test check-pcg64_oneseq_once_insecure > actual/check-pcg64_oneseq_once_insecure.out |
| 79 | +run_test check-pcg128_oneseq_once_insecure > actual/check-pcg128_oneseq_once_insecure.out |
49 | 80 |
|
50 | | -./check-pcg32_k2 > actual/check-pcg32_k2.out |
51 | | -./check-pcg32_k2_fast > actual/check-pcg32_k2_fast.out |
| 81 | +run_test check-pcg32_k2 > actual/check-pcg32_k2.out |
| 82 | +run_test check-pcg32_k2_fast > actual/check-pcg32_k2_fast.out |
52 | 83 |
|
53 | | -./check-pcg32_k64 > actual/check-pcg32_k64.out |
54 | | -./check-pcg32_k64_oneseq > actual/check-pcg32_k64_oneseq.out |
55 | | -./check-pcg32_k64_fast > actual/check-pcg32_k64_fast.out |
| 84 | +run_test check-pcg32_k64 > actual/check-pcg32_k64.out |
| 85 | +run_test check-pcg32_k64_oneseq > actual/check-pcg32_k64_oneseq.out |
| 86 | +run_test check-pcg32_k64_fast > actual/check-pcg32_k64_fast.out |
56 | 87 |
|
57 | | -./check-pcg32_c64 > actual/check-pcg32_c64.out |
58 | | -./check-pcg32_c64_oneseq > actual/check-pcg32_c64_oneseq.out |
59 | | -./check-pcg32_c64_fast > actual/check-pcg32_c64_fast.out |
| 88 | +run_test check-pcg32_c64 > actual/check-pcg32_c64.out |
| 89 | +run_test check-pcg32_c64_oneseq > actual/check-pcg32_c64_oneseq.out |
| 90 | +run_test check-pcg32_c64_fast > actual/check-pcg32_c64_fast.out |
60 | 91 |
|
61 | | -./check-pcg64_k32 > actual/check-pcg64_k32.out |
62 | | -./check-pcg64_k32_oneseq > actual/check-pcg64_k32_oneseq.out |
63 | | -./check-pcg64_k32_fast > actual/check-pcg64_k32_fast.out |
| 92 | +run_test check-pcg64_k32 > actual/check-pcg64_k32.out |
| 93 | +run_test check-pcg64_k32_oneseq > actual/check-pcg64_k32_oneseq.out |
| 94 | +run_test check-pcg64_k32_fast > actual/check-pcg64_k32_fast.out |
64 | 95 |
|
65 | | -./check-pcg64_c32 > actual/check-pcg64_c32.out |
66 | | -./check-pcg64_c32_oneseq > actual/check-pcg64_c32_oneseq.out |
67 | | -./check-pcg64_c32_fast > actual/check-pcg64_c32_fast.out |
| 96 | +run_test check-pcg64_c32 > actual/check-pcg64_c32.out |
| 97 | +run_test check-pcg64_c32_oneseq > actual/check-pcg64_c32_oneseq.out |
| 98 | +run_test check-pcg64_c32_fast > actual/check-pcg64_c32_fast.out |
68 | 99 |
|
69 | | -./check-pcg32_k1024 > actual/check-pcg32_k1024.out |
70 | | -./check-pcg32_k1024_fast > actual/check-pcg32_k1024_fast.out |
| 100 | +run_test check-pcg32_k1024 > actual/check-pcg32_k1024.out |
| 101 | +run_test check-pcg32_k1024_fast > actual/check-pcg32_k1024_fast.out |
71 | 102 |
|
72 | | -./check-pcg32_c1024 > actual/check-pcg32_c1024.out |
73 | | -./check-pcg32_c1024_fast > actual/check-pcg32_c1024_fast.out |
| 103 | +run_test check-pcg32_c1024 > actual/check-pcg32_c1024.out |
| 104 | +run_test check-pcg32_c1024_fast > actual/check-pcg32_c1024_fast.out |
74 | 105 |
|
75 | | -./check-pcg64_k1024 > actual/check-pcg64_k1024.out |
76 | | -./check-pcg64_k1024_fast > actual/check-pcg64_k1024_fast.out |
| 106 | +run_test check-pcg64_k1024 > actual/check-pcg64_k1024.out |
| 107 | +run_test check-pcg64_k1024_fast > actual/check-pcg64_k1024_fast.out |
77 | 108 |
|
78 | | -./check-pcg64_c1024 > actual/check-pcg64_c1024.out |
79 | | -./check-pcg64_c1024_fast > actual/check-pcg64_c1024_fast.out |
| 109 | +run_test check-pcg64_c1024 > actual/check-pcg64_c1024.out |
| 110 | +run_test check-pcg64_c1024_fast > actual/check-pcg64_c1024_fast.out |
80 | 111 |
|
81 | | -./check-pcg32_k16384 > actual/check-pcg32_k16384.out |
82 | | -./check-pcg32_k16384_fast > actual/check-pcg32_k16384_fast.out |
| 112 | +run_test check-pcg32_k16384 > actual/check-pcg32_k16384.out |
| 113 | +run_test check-pcg32_k16384_fast > actual/check-pcg32_k16384_fast.out |
83 | 114 |
|
84 | 115 | find actual -type f -size -80c -delete |
85 | 116 |
|
|
0 commit comments