mirror of
				https://github.com/drwetter/testssl.sh.git
				synced 2025-10-31 13:55:25 +01:00 
			
		
		
		
	Merge pull request #2583 from drwetter/minor_polish_unitTests
Minor polish unit tests
This commit is contained in:
		| @@ -24,10 +24,10 @@ printf "\n%s\n", "Testing whether just calling \"./testssl.sh\" produces no erro | |||||||
| my $info    = stat($prg); | my $info    = stat($prg); | ||||||
| my $retMode = $info->mode; | my $retMode = $info->mode; | ||||||
|  |  | ||||||
| is($retMode & 0400, 0400, "Checking \"./testssl.sh\" for read permission");  | is($retMode & 0400, 0400, "Checking \"./testssl.sh\" for read permission"); | ||||||
| $tests++; | $tests++; | ||||||
|  |  | ||||||
| is($retMode & 0100, 0100, "Checking \"./testssl.sh\" for execute permission");  | is($retMode & 0100, 0100, "Checking \"./testssl.sh\" for execute permission"); | ||||||
| $tests++; | $tests++; | ||||||
|  |  | ||||||
| $fileout = `timeout 10 bash $prg 2>&1`; | $fileout = `timeout 10 bash $prg 2>&1`; | ||||||
| @@ -55,7 +55,7 @@ $out=`grep -E "$debug_regexp" $prg`; | |||||||
| unlike($out, qr/$debug_regexp/, "Debug RegEx"); | unlike($out, qr/$debug_regexp/, "Debug RegEx"); | ||||||
| $tests++; | $tests++; | ||||||
|  |  | ||||||
| printf "\n"; | printf "\n\n"; | ||||||
| done_testing($tests); | done_testing($tests); | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ use Test::More; | |||||||
| printf "\n%s\n", "Testing whether CA certificates are newer their SPKI hashes \"~/etc/ca_hashes.txt\" ..."; | printf "\n%s\n", "Testing whether CA certificates are newer their SPKI hashes \"~/etc/ca_hashes.txt\" ..."; | ||||||
|  |  | ||||||
| my $newer_bundles=`find etc/*.pem -newer etc/ca_hashes.txt`; | my $newer_bundles=`find etc/*.pem -newer etc/ca_hashes.txt`; | ||||||
| is($newer_bundles,"","If there's an output with a *.pem file run \"~/utils/create_ca_hashes.sh\""); | is($newer_bundles,"","Checking if there's an output with a *.pem file run \"~/utils/create_ca_hashes.sh\""); | ||||||
|  |  | ||||||
| printf "\n"; | printf "\n"; | ||||||
| done_testing; | done_testing; | ||||||
|   | |||||||
| @@ -46,15 +46,16 @@ $edited_html =~ s/>/>/g; | |||||||
| $edited_html =~ s/"/"/g; | $edited_html =~ s/"/"/g; | ||||||
| $edited_html =~ s/'/'/g; | $edited_html =~ s/'/'/g; | ||||||
|  |  | ||||||
| cmp_ok($edited_html, "eq", $out, "HTML file matches terminal output"); |  | ||||||
| $tests++; |  | ||||||
|  |  | ||||||
| $diff = diff \$edited_html, \$out; | $diff = diff \$edited_html, \$out; | ||||||
| printf "\n%s\n", "$diff"; |  | ||||||
|  | cmp_ok($edited_html, "eq", $out, "Checking if HTML file matches terminal output") or | ||||||
|  |      diag ("\n%s\n", "$diff"); | ||||||
|  |  | ||||||
|  | $tests++; | ||||||
|  |  | ||||||
|  |  | ||||||
| #2 | #2 | ||||||
| printf "\n%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 | ||||||
| $out = `TERM_WIDTH=120 $prg $check2run --debug 4 $uri 2> /dev/null`; | $out = `TERM_WIDTH=120 $prg $check2run --debug 4 $uri 2> /dev/null`; | ||||||
| $debughtml = `cat $htmlfile`; | $debughtml = `cat $htmlfile`; | ||||||
| @@ -79,15 +80,14 @@ $debughtml =~ s/.*built: .*\n//g; | |||||||
| $debughtml =~ s/.*Using bash .*\n//g; | $debughtml =~ s/.*Using bash .*\n//g; | ||||||
| # is whole line:   s/.*<pattern> .*\n//g; | # is whole line:   s/.*<pattern> .*\n//g; | ||||||
|  |  | ||||||
| cmp_ok($debughtml, "eq", $html, "HTML file created with --debug 4 matches HTML file created without --debug"); | $diff = diff \$debughtml, \$html; | ||||||
|  |  | ||||||
|  | cmp_ok($debughtml, "eq", $html, "Checking if HTML file created with --debug 4 matches HTML file created without --debug") or | ||||||
|  |      diag ("\n%s\n", "$diff"); | ||||||
| $tests++; | $tests++; | ||||||
|  |  | ||||||
| $diff = diff \$debughtml, \$html; |  | ||||||
| printf "\n%s\n", "$diff"; |  | ||||||
|  |  | ||||||
|  | printf "\n\n"; | ||||||
|  |  | ||||||
| printf "\n"; |  | ||||||
| done_testing($tests); | done_testing($tests); | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -17,7 +17,7 @@ pass("Running testssl.sh against badssl.com to create a baseline (may take 2~3 m | |||||||
| my $okout = `./testssl.sh -S -e --freak --logjam --drown --rc4 --sweet32 --breach --winshock --crime --jsonfile tmp.json --color 0 badssl.com`; | my $okout = `./testssl.sh -S -e --freak --logjam --drown --rc4 --sweet32 --breach --winshock --crime --jsonfile tmp.json --color 0 badssl.com`; | ||||||
| my $okjson = json('tmp.json'); | my $okjson = json('tmp.json'); | ||||||
| unlink 'tmp.json'; | unlink 'tmp.json'; | ||||||
| cmp_ok(@$okjson,'>',10,"We have more then 10 findings"); $tests++; | cmp_ok(@$okjson,'>',10,"We should have more then 10 findings"); $tests++; | ||||||
|  |  | ||||||
| # Expiration | # Expiration | ||||||
| pass("Running testssl against expired.badssl.com"); $tests++; | pass("Running testssl against expired.badssl.com"); $tests++; | ||||||
| @@ -35,7 +35,7 @@ foreach my $f ( @$json ) { | |||||||
| 		last; | 		last; | ||||||
|     } |     } | ||||||
| } | } | ||||||
| is($found,1,"We had a finding for this in the JSON output"); $tests++; | is($found,1,"We should have a finding for this in the JSON output"); $tests++; | ||||||
|  |  | ||||||
| # Self signed and not-expired | # Self signed and not-expired | ||||||
| pass("Running testssl against self-signed.badssl.com"); $tests++; | pass("Running testssl against self-signed.badssl.com"); $tests++; | ||||||
| @@ -52,7 +52,7 @@ foreach my $f ( @$json ) { | |||||||
| 		last; | 		last; | ||||||
|     } |     } | ||||||
| } | } | ||||||
| is($found,1,"We had a finding for this in the JSON output"); $tests++; | is($found,1,"We should a finding for this in the JSON output"); $tests++; | ||||||
|  |  | ||||||
| like($out, qr/Chain of trust.*?NOT ok.*\(self signed\)/,"Chain of trust should fail because of self signed"); $tests++; | like($out, qr/Chain of trust.*?NOT ok.*\(self signed\)/,"Chain of trust should fail because of self signed"); $tests++; | ||||||
| $found = 0; | $found = 0; | ||||||
| @@ -64,7 +64,7 @@ foreach my $f ( @$json ) { | |||||||
| 		last; | 		last; | ||||||
|     } |     } | ||||||
| } | } | ||||||
| is($found,1,"We had a finding for this in the JSON output"); $tests++; | is($found,1,"We should have a finding for this in the JSON output"); $tests++; | ||||||
|  |  | ||||||
| like($okout, qr/Chain of trust[^\n]*?Ok/,"Chain of trust should be ok"); $tests++; | like($okout, qr/Chain of trust[^\n]*?Ok/,"Chain of trust should be ok"); $tests++; | ||||||
| $found = 0; | $found = 0; | ||||||
| @@ -77,7 +77,7 @@ foreach my $f ( @$okjson ) { | |||||||
| 		last; | 		last; | ||||||
|     } |     } | ||||||
| } | } | ||||||
| is($found,1,"We had a finding for this in the JSON output"); $tests++; | is($found,1,"We should have a finding for this in the JSON output"); $tests++; | ||||||
|  |  | ||||||
| # Wrong host | # Wrong host | ||||||
| #pass("Running testssl against wrong.host.badssl.com"); $tests++; | #pass("Running testssl against wrong.host.badssl.com"); $tests++; | ||||||
| @@ -111,7 +111,7 @@ foreach my $f ( @$json ) { | |||||||
| 		last; | 		last; | ||||||
|     } |     } | ||||||
| } | } | ||||||
| is($found,1,"We had a finding for this in the JSON output"); $tests++; | is($found,1,"We should have a finding for this in the JSON output"); $tests++; | ||||||
|  |  | ||||||
| # TODO: RSA 8192 | # TODO: RSA 8192 | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Dirk Wetter
					Dirk Wetter