osdir.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: svn commit: r1843478 - /httpd/test/framework/trunk/t/ssl/ocsp.t


On Wed, Oct 10, 2018 at 12:27 PM <jim@xxxxxxxxxx> wrote:
Author: jim
Date: Wed Oct 10 17:27:33 2018
New Revision: 1843478

@@ -21,7 +21,7 @@ Apache::TestRequest::module('ssl_ocsp');
 # support in earlier versions without messing around with stderr
 my $openssl = Apache::TestSSLCA::openssl();
 if (!have_min_apache_version('2.4.26')
-    or `$openssl list-standard-commands 2>/dev/null` !~ /ocsp/) {
+    or system("$openssl ocsp 2>/dev/null") == 0) {
     print "1..0 # skip: No OpenSSL or mod_ssl OCSP support";
     exit 0;
 }

I think I know where the confusion is. system() returns 0 for success, and the non-zero result code from invocation on failure.

You are testing whether `openssl ocsp` succeeds, skipping the test on success and running the test on failure.

You meant to test whether `openssl ocsp` failed (non-zero), to skip the test

If you replace your test with system("$openssl ocsp -help 2>/dev/null") == 0 you will observe that it goes haywire, because that command is valid when ocsp is enabled.