More options to allow directory locations to be specified in mkfipsscr.pl
authorDr. Stephen Henson <steve@openssl.org>
Mon, 29 Jan 2007 00:21:08 +0000 (00:21 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Mon, 29 Jan 2007 00:21:08 +0000 (00:21 +0000)
script. Make AES/DES algorithm test programs handle Win32 path separator.
Switch off verbose mode in AES test program.

fips-1.0/aes/fips_aesavs.c
fips-1.0/des/fips_desmovs.c
fips-1.0/mkfipsscr.pl

index ac155e926dbc50572e41b1358c3d8dbd591c48d7..62196516d0fd387e4e35ac96b8a4cd26c06231e7 100644 (file)
@@ -82,7 +82,7 @@ int main(int argc, char *argv[])
 
 #define AES_BLOCK_SIZE 16
 
-#define VERBOSE 1
+#define VERBOSE 0
 
 /*-----------------------------------------------*/
 
@@ -727,6 +727,10 @@ int proc_file(char *rqfile)
        }
     strcpy(rfn,afn);
     rp=strstr(rfn,"req/");
+#ifdef OPENSSL_SYS_WIN32
+    if (!rp)
+       rp=strstr(rfn,"req\\");
+#endif
     assert(rp);
     memcpy(rp,"rsp",3);
     rp = strstr(rfn, ".req");
index 900e800320c6930547bf73e3b441f915fa14c3c8..5eaf297d2ecee545ec432de8ea7b1eb73a3a582b 100644 (file)
@@ -590,6 +590,10 @@ int proc_file(char *rqfile)
        }
     strcpy(rfn,afn);
     rp=strstr(rfn,"req/");
+#ifdef OPENSSL_SYS_WIN32
+    if (!rp)
+       rp=strstr(rfn,"req\\");
+#endif
     assert(rp);
     memcpy(rp,"rsp",3);
     rp = strstr(rfn, ".req");
index b3cc0115047d0f9b0b5ed7ee2f000441883407eb..df5161160f90e86960b6022a84e282f2c20b1105 100644 (file)
@@ -60,8 +60,12 @@ my @fips_tests = (
 
 my $lnum = 0;
 my $win32 = 0;
-my $tvdir = "testvectors";
+my $onedir = 0;
 my $ltdir = "";
+my $tvdir;
+my $tvprefix;
+my $tprefix;
+my $shwrap_prefix;
 
 foreach (@ARGV)
        {
@@ -69,15 +73,48 @@ foreach (@ARGV)
                {
                $win32 = 1;
                }
+       elsif ($_ eq "--onedir")
+               {
+               $onedir = 1;
+               }
        elsif (/--dir=(.*)$/)
                {
                $tvdir = $1;
                }
+       elsif (/--tprefix=(.*)$/)
+               {
+               $tprefix = $1;
+               }
+       elsif (/--tvprefix=(.*)$/)
+               {
+               $tvprefix = $1;
+               }
+       elsif (/--shwrap_prefix=(.*)$/)
+               {
+               $shwrap_prefix = $1;
+               }
+       elsif (/--outfile=(.*)$/)
+               {
+               $outfile = $1;
+               }
        }
 
+$tvdir = "testvectors" unless defined $tvdir;
+$shwrap_prefix = "../util/" unless defined $shwrap_prefix;
+
 if ($win32)
        {
-       open(OUT, ">fipstests.bat");
+       if ($onedir)
+               {
+               $tvprefix = "" unless defined $tvprefix;
+               }
+       else
+               {
+               $tvprefix = "..\\fips-1.0\\" unless defined $tvprefix;
+               }
+       $tprefix = ".\\" unless defined $tprefix;
+       $outfile = "fipstests.bat" unless defined $outfile;
+       open(OUT, ">$outfile");
 
        print OUT <<END;
 \@echo off
@@ -90,9 +127,19 @@ END
        }
 else
        {
-open(OUT, ">fipstests.sh");
+       $tvprefix = "" unless defined $tvprefix;
+       if ($onedir)
+               {
+               $tprefix = "./" unless defined $tprefix;
+               }
+       else
+               {
+               $tprefix = "../test/" unless defined $tprefix;
+               }
+       $outfile = "fipstests.sh" unless defined $outfile;
+       open(OUT, ">$outfile");
 
-print OUT <<END;
+       print OUT <<END;
 #!/bin/sh
 
 # Test vector run script
@@ -120,7 +167,7 @@ sub test_dir
        my ($win32, $tdir) = @_;
        if ($win32)
                {
-               my $rsp = "..\\fips-1.0\\$tvdir\\$tdir\\rsp";
+               my $rsp = "$tvprefix$tvdir\\$tdir\\rsp";
                print OUT <<END;
 
 echo $tdir tests
@@ -146,16 +193,17 @@ sub test_line
        my ($win32, $tdir, $fprefix, $tcmd) = @_;
        if ($fprefix =~ /\@/)
                {
-               foreach(<$tvdir/$tdir/req/*.req>)
+               foreach(<$tvprefix$tvdir/$tdir/req/*.req>)
                        {
                        if ($win32)
                                {
-                               print OUT ".\\$tcmd ../fips-1.0/${_}\n";
+                               $_ =~ tr|/|\\|;
+                               print OUT "$tprefix$tcmd $_\n";
                                }
                        else
                                {
                                print OUT <<END;
-../util/shlib_wrap.sh ../test/$tcmd $_
+${shwrap_prefix}shlib_wrap.sh $tprefix$tcmd $_
 END
                                }
                        }
@@ -163,17 +211,17 @@ END
                }
        if ($win32)
                {
-               my $req = "..\\fips-1.0\\$tvdir\\$tdir\\req\\$fprefix.req";
-               my $rsp = "..\\fips-1.0\\$tvdir\\$tdir\\rsp\\$fprefix.rsp";
-       print OUT ".\\$tcmd < $req > $rsp\n";
+               my $req = "$tvprefix$tvdir\\$tdir\\req\\$fprefix.req";
+               my $rsp = "$tvprefix$tvdir\\$tdir\\rsp\\$fprefix.rsp";
+       print OUT "$tprefix$tcmd < $req > $rsp\n";
 END
                }
        else
                {
-               my $req = "$tvdir/$tdir/req/$fprefix.req";
+               my $req = "tvdir/$tdir/req/$fprefix.req";
                my $rsp = "$tvdir/$tdir/rsp/$fprefix.rsp";
                print OUT <<END;
-if [ -f $req ] ; then ../util/shlib_wrap.sh ../test/$tcmd < $req > $rsp; fi
+if [ -f $req ] ; then ${shwrap_prefix}shlib_wrap.sh $tprefix$tcmd < $req > $rsp; fi
 END
                }
        }