Use more odd chuck sizes for check_one_md
[libgcrypt.git] / tests / cavs_tests.sh
index 6ba2b08..7d8499b 100755 (executable)
@@ -14,7 +14,7 @@
 #
 # 1. Cd to the libgcrypt/tests directory
 #
-# 2. Unpack the test vector tarball into subdirectory named "cavs". 
+# 2. Unpack the test vector tarball into subdirectory named "cavs".
 #    An example directory layout after unpacking might be:
 #      libgcrypt/tests/cavs/AES/req/CBCGFSbox128.req
 #      libgcrypt/tests/cavs/AES/req/CFB128MCT128.req
@@ -39,13 +39,14 @@ continue_mode=no
 [ "$1" = "--continue" ] && continue_mode=yes
 
 
-# Function to run one test.  
+# Function to run one test.
 # The argument is the request file name.
 function run_one_test () {
     local reqfile="$1"
     local rspfile
     local tmprspfile
     local respdir
+    local dflag=""
 
     tmprspfile=$(echo "$reqfile" | sed 's,.req$,.rsp,')
     rspfile=$(echo "$tmprspfile" | sed 's,/req/,/resp/,' )
@@ -53,14 +54,20 @@ function run_one_test () {
     [ -f "$tmprspfile" ] && rm "$tmprspfile"
     [ -d "$respdir" ] || mkdir "$respdir"
     [ -f "$rspfile" ] &&  rm "$rspfile"
-    
-    if ./cavs_driver.pl -I libgcrypt "$reqfile"; then
-        echo "failed test: $reqfile" >&2
-        : >"$errors_seen_file"
-    elif [ -f "$tmprspfile" ]; then
-        mv "$tmprspfile" "$rspfile"
-    else 
-        echo "failed test: $reqfile" >&2
+
+    if echo "$reqfile" | grep '/DSA/req/' >/dev/null 2>/dev/null; then
+        dflag="-D"
+    fi
+
+    if ./cavs_driver.pl -I libgcrypt $dflag "$reqfile"; then
+      if [ -f "$tmprspfile" ]; then
+          mv "$tmprspfile" "$rspfile"
+      else
+          echo "failed test: $reqfile" >&2
+          : >"$errors_seen_file"
+      fi
+    else
+        echo "failed test: $reqfile rc=$?" >&2
         : >"$errors_seen_file"
     fi
 }
@@ -72,7 +79,7 @@ DATE=$(date +%Y%m%d)
 ARCH=$(arch || echo unknown)
 result_file="CAVS_results-$ARCH-$DATE.zip"
 
-for f in fipsdrv fipsrngdrv cavs_driver.pl; do
+for f in fipsdrv cavs_driver.pl; do
     if [ ! -f "./$f" ]; then
       echo "required program \"$f\" missing in current directory" >&2
       exit 2
@@ -110,11 +117,14 @@ fi
 find cavs -type f -name "*.req" | while read f ; do
     echo "Running test file $f" >&2
     run_one_test "$f"
+    if [ -f "$errors_seen_file" ]; then
+        break;
+    fi
 done
 
 if [ -f "$errors_seen_file" ]; then
     rm "$errors_seen_file"
-    echo "Error enountered - not packing up response file" >&2
+    echo "Error encountered - not packing up response file" >&2
     exit 1
 fi