mirror of
https://github.com/drwetter/testssl.sh.git
synced 2025-10-09 12:12:54 +02:00
Backport from 3.3dev
... to avoid repeated failures because of heise.de . Looks like there are
server side measures which made some tests fail. Often the MacOS CI runner
is slower and seems to run into that.
See also 56c1e585
This commit is contained in:
@ -10,14 +10,16 @@ use Text::Diff;
|
|||||||
|
|
||||||
my $tests = 0;
|
my $tests = 0;
|
||||||
my $prg="./testssl.sh";
|
my $prg="./testssl.sh";
|
||||||
my $uri="heise.de";
|
my $uri="github.com";
|
||||||
my $out="";
|
my $out="";
|
||||||
my $html="";
|
my $html="";
|
||||||
my $debughtml="";
|
my $debughtml="";
|
||||||
my $edited_html="";
|
my $edited_html="";
|
||||||
my $htmlfile="tmp.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 $diff="";
|
||||||
|
my $ip="";
|
||||||
die "Unable to open $prg" unless -f $prg;
|
die "Unable to open $prg" unless -f $prg;
|
||||||
|
|
||||||
printf "\n%s\n", "Doing HTML output checks";
|
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++;
|
$tests++;
|
||||||
|
|
||||||
|
|
||||||
|
if ( $^O eq "darwin" ){
|
||||||
|
printf "\nskip debug check on MacOS\n\n";
|
||||||
|
done_testing($tests);
|
||||||
|
exit 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#2
|
#2
|
||||||
printf "%s\n", " .. running again $prg against \"$uri\", now with --debug 4 to create HTML output (may take another ~2 minutes)";
|
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
|
# 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/No engine or GOST support via engine with your.*\n//g;
|
||||||
$debughtml =~ s/.*built: .*\n//g;
|
$debughtml =~ s/.*built: .*\n//g;
|
||||||
$debughtml =~ s/.*Using bash .*\n//g;
|
$debughtml =~ s/.*Using bash .*\n//g;
|
||||||
|
$debughtml =~ s/.*has_compression.*\n//g;
|
||||||
# is whole line: s/.*<pattern> .*\n//g;
|
# is whole line: s/.*<pattern> .*\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;
|
$diff = diff \$debughtml, \$html;
|
||||||
|
|
||||||
ok($debughtml eq $html, "Checking if HTML file created with --debug 4 matches HTML file created without --debug") or
|
ok($debughtml eq $html, "Checking if HTML file created with --debug 4 matches HTML file created without --debug") or
|
||||||
|
Reference in New Issue
Block a user