Stop warnings about undefined _exit on Android. Additional script output options to fipsalgtest.pl
diff --git a/fips/fips_premain.c b/fips/fips_premain.c index e284aa9..40efaf9 100644 --- a/fips/fips_premain.c +++ b/fips/fips_premain.c
@@ -7,7 +7,7 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#if defined(__unix) || defined(__unix__) +#if defined(__unix) || defined(__unix__) || defined(__ANDROID__) #include <unistd.h> #endif
diff --git a/fips/fips_premain.c.sha1 b/fips/fips_premain.c.sha1 index c7d5414..e6d5c71 100644 --- a/fips/fips_premain.c.sha1 +++ b/fips/fips_premain.c.sha1
@@ -1 +1 @@ -HMAC-SHA1(fips_premain.c)= dab2842517034a42dfdb21a285d4f0f4d7f6f920 +HMAC-SHA1(fips_premain.c)= 5f546af6cad8753df3956d233db9a6d7cce505aa
diff --git a/fips/fipsalgtest.pl b/fips/fipsalgtest.pl index 077fab1..048e3e8 100644 --- a/fips/fipsalgtest.pl +++ b/fips/fipsalgtest.pl
@@ -462,6 +462,8 @@ my $outfile = ''; my $no_warn_missing = 0; my $no_warn_bogus = 0; +my $rmcmd = "rm -rf"; +my $mkcmd = "mkdir"; my %fips_enabled = ( dsa => 1, @@ -549,6 +551,15 @@ elsif (/--filter=(.*)$/) { $filter = $1; } + elsif (/--rm=(.*)$/) { + $rmcmd = $1; + } + elsif (/--script-tprefix=(.*)$/) { + $stprefix = $1; + } + elsif (/--mkdir=(.*)$/) { + $mkcmd = $1; + } elsif (/^--list-tests$/) { $list_tests = 1; } @@ -861,7 +872,8 @@ END } else { - print OUT <<\END; + $stprefix = $tprefix unless defined $stprefix; + print OUT <<END; #!/bin/sh # Test vector run script @@ -870,6 +882,10 @@ echo Running Algorithm Tests +RM="$rmcmd"; +MKDIR="$mkcmd"; +TPREFIX=$stprefix + END } @@ -926,8 +942,8 @@ END } else { print OUT <<END -rm -rf \"$outdir\" -mkdir \"$outdir\" +\$RM -rf \"$outdir\" +\$MKDIR \"$outdir\" END } @@ -938,12 +954,13 @@ mkdir($outdir) || die "Can't create directory $outdir"; } } - my $cmd = "$tprefix$tcmd \"$req\" \"$out\""; + my $cmd = "$tcmd \"$req\" \"$out\""; print STDERR "DEBUG: running test $tname\n" if ( $debug && !$verify ); if ($outfile ne "") { print OUT "echo \" running $tname test\"\n" unless $minimal_script; - print OUT "$cmd\n"; + print OUT "\${TPREFIX}$cmd\n"; } else { + $cmd = "$tprefix$cmd"; system($cmd); if ( $? != 0 ) { print STDERR