diff --git a/t/12_diff_opensslversions.t b/t/12_diff_opensslversions.t index e866df1..eb4d668 100755 --- a/t/12_diff_opensslversions.t +++ b/t/12_diff_opensslversions.t @@ -1,6 +1,6 @@ #!/usr/bin/env perl -# Baseline diff test against testssl.sh (csv output) +# Baseline diff test against google.com (csv output) # # This runs a basic test with the supplied openssl vs /usr/bin/openssl @@ -11,7 +11,7 @@ use Text::Diff; my $tests = 0; my $prg="./testssl.sh"; -my $check2run="--protocols --std --server-preference --fs --header --renegotiation --crime --breach --poodle --tls-fallback --sweet32 --beast --lucky13 --freak --logjam --drown --rc4 --phone-out --client-simulation -q --ip=one --color 0 --csvfile"; +my $check2run="--protocols --std --server-preference --fs --header --vulnerable --ids-friendly --phone-out --client-simulation -q --ip=one --color 0 --csvfile"; my $csvfile="tmp.csv"; my $csvfile2="tmp2.csv"; my $cat_csvfile=""; diff --git a/t/32_isHTML_valid.t b/t/32_isHTML_valid.t index 2f843f5..8185264 100755 --- a/t/32_isHTML_valid.t +++ b/t/32_isHTML_valid.t @@ -10,14 +10,16 @@ use Text::Diff; my $tests = 0; my $prg="./testssl.sh"; -my $uri="heise.de"; +my $uri="github.com"; my $out=""; my $html=""; my $debughtml=""; my $edited_html=""; my $htmlfile="tmp.html"; -my $check2run="--ip=one --sneaky --ids-friendly --color 0 --htmlfile $htmlfile"; +# Pick /usr/bin/openssl as we want to avoid the debug messages like "Your ./bin/openssl.Linux.x86_64 doesn't support X25519" +my $check2run="--ip=one -4 --openssl /usr/bin/openssl --sneaky --ids-friendly --color 0 --htmlfile $htmlfile"; my $diff=""; +my $ip=""; die "Unable to open $prg" unless -f $prg; printf "\n%s\n", "Doing HTML output checks"; @@ -54,6 +56,13 @@ ok($edited_html eq $out, "Checking if HTML file matches terminal output") or $tests++; +if ( $^O eq "darwin" ){ + printf "\nskip debug check on MacOS\n\n"; + done_testing($tests); + exit 0; +} + + #2 printf "%s\n", " .. running again $prg against \"$uri\", now with --debug 4 to create HTML output (may take another ~2 minutes)"; # Redirect stderr to /dev/null in order to avoid some unexplained "date: invalid date" error messages @@ -78,8 +87,21 @@ $debughtml =~ s/.*DEBUG:.*\n//g; $debughtml =~ s/No engine or GOST support via engine with your.*\n//g; $debughtml =~ s/.*built: .*\n//g; $debughtml =~ s/.*Using bash .*\n//g; +$debughtml =~ s/.*has_compression.*\n//g; # is whole line: s/.* .*\n//g; +# Extract and mask IP address as it can change +if ( $html =~ /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/ ) { + $ip = $1; +} +$html =~ s/$ip/AAA.BBB.CCC.DDD/g; + +if ( $debughtml =~ /(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/ ) { + $ip = $1; +} +$debughtml =~ s/$ip/AAA.BBB.CCC.DDD/g; + + $diff = diff \$debughtml, \$html; ok($debughtml eq $html, "Checking if HTML file created with --debug 4 matches HTML file created without --debug") or