Don't need to block multiple thread access. Refactor and update a bit for an upcoming...
[zxing.git] / cpp / blackboxtest.sh
1 #!/bin/sh
2
3 blackboxpath="../core/test/data/blackbox"
4
5 if [ "$*" != "" ]; then
6         formats="$*"
7 else
8         formats="ean13 ean8 upce upca qrcode"
9 fi
10
11 passed=0;
12 failed=0;
13 oldcat="";
14
15 for format in $formats; do
16         for pic in `ls ${blackboxpath}/${format}-*/*.{jpg,JPG,gif,GIF,png,PNG} 2>/dev/null | sort -n`; do
17                 category=${pic%/*};
18                 category=${category##*/};
19                 if [ "$oldcat" != "$category" ]; then
20                         echo "***** $oldcat finished - $passed of $((passed+failed)) passed **** ***** ******* ***** *********************"
21                         oldcat=$category;
22                         passed=0;
23                         failed=0;
24                 fi
25                 echo -n "Processing: $pic ... "
26                 tmp="${pic}"
27                 tmp="${tmp%JPG}";
28                 tmp="${tmp%jpg}";
29                 tmp="${tmp%gif}";
30                 tmp="${tmp%GIF}";
31                 tmp="${tmp%png}";
32                 tmp="${tmp%PNG}";
33                 txt="${tmp}txt";
34                 expected=`cat "$txt"`;
35                 actual=`build/zxing $pic`;
36                 if [ "$expected" == "$actual" ]; then
37                         echo "passed."
38                         passed=$((passed+1));
39                 else
40                         echo -e "FAILED\n   Expected: $expected\n   Detected: $actual"
41                         failed=$((failed+1));
42                 fi
43         done
44 done
45 echo "***** $oldcat finished - $passed of $((passed+failed)) passed **** ***** ******* ***** *********************"