diff options
| author | Bdale Garbee <bdale@gag.com> | 2016-09-05 20:59:11 -0600 |
|---|---|---|
| committer | Bdale Garbee <bdale@gag.com> | 2016-09-05 20:59:11 -0600 |
| commit | c0ad087008856cfc2233b977abfc3f1dcbaccdcc (patch) | |
| tree | adc46abc430793112858ce5d1822d3fe0a395e71 /ao-bringup/test-chaoskey | |
| parent | 148b013dd29c26920ddfb53449ed4d8cc5a4b5ee (diff) | |
| parent | 4fdf8ca9ca1cd5a84b03bd7a03c5806af64b413d (diff) | |
Merge branch 'master' into branch-1.6
Diffstat (limited to 'ao-bringup/test-chaoskey')
| -rwxr-xr-x | ao-bringup/test-chaoskey | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/ao-bringup/test-chaoskey b/ao-bringup/test-chaoskey new file mode 100755 index 00000000..b4c8164f --- /dev/null +++ b/ao-bringup/test-chaoskey @@ -0,0 +1,95 @@ +#!/bin/bash +snum="unknown" +case "$#" in + 1) + case "$1" in + "-?"|"--help") + echo "Usage: $0 [serial]" + exit 0 + ;; + esac + snum="$1" + serial="--serial $1" + ;; + 0) + snum=`dmesg | grep 'on chaoskey' | tail -1 | sed 's/.*chaoskey \([0-9a-f][0-9a-f]*\) on chaoskey.*/\1/'` + case "$snum" in + "") + serial="" + ;; + *) + serial="--serial $snum" + ;; + esac + ;; + *) + echo "Usage: $0 [serial]" + exit 1 + ;; +esac + +echo -e '\e[34mTesting ChaosKey' $snum '\e[39m' + +tests="0:100 1:100 2:100 3:100 12:10 13:100 15:10000 16:250 202:1000 203:100 204:500 206:20 207:1000:32 209:1000" + +PASS=0 +FAIL=0 +WEAK=0 +../ao-tools/ao-chaosread/ao-chaosread $serial --infinite --bytes | for test in $tests done; do + case $test in + *:*:*) + dnum=`echo $test | sed 's/:.*$//'` + tnum=`echo $test | sed 's/^[^:]*://'` + tnum=`echo $test | sed 's/^[^:]*://' | sed 's/:.*$//'` + nnum=`echo $test | sed 's/^.*://'` + opts="-d $dnum -t $tnum -n $nnum" + ;; + *:*) + dnum=`echo $test | sed 's/:.*$//'` + tnum=`echo $test | sed 's/^.*://'` + opts="-d $dnum -t $tnum" + ;; + *) + dnum=$test + opts="-d $dnum" + ;; + esac + case $dnum in + done) + echo DONE + ;; + *) + echo TEST $dnum + dieharder -g 200 $opts + ;; + esac +done | while read result; do + case "$result" in + TEST*) + testnum=`echo $result | sed 's/TEST //'` + ;; + *PASSED*) + PASS=`expr $PASS + 1` + ;; + *WEAK*) + WEAK=`expr $WEAK + 1` + ;; + *FAILED*) + echo test $testnum failed + FAIL=`expr $FAIL + 1` + ;; + DONE) + echo pass $PASS weak $WEAK fail $FAIL + case $PASS:$FAIL in + [1-9]*:0) + echo -e '\e[32m'ChaosKey $snum is ready to ship'\e[39m' + exit 0 + ;; + *) + echo -e '\e[31m'ChaosKey $snum failed'\e[39m' + exit 1 + ;; + esac + ;; + esac +done |
