Author: markt
Date: Thu Jul 31 13:07:49 2014
New Revision: 1614880
URL: http://svn.apache.org/r1614880
Log:
Skip the OpenSSL tests if the expected version is not available
Modified:
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TesterOpenSSL.java
Modified:
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java?rev=1614880&r1=1614879&r2=1614880&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java
(original)
+++ tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java
Thu Jul 31 13:07:49 2014
@@ -23,10 +23,17 @@ import java.util.List;
import java.util.Set;
import org.junit.Assert;
+import org.junit.Assume;
+import org.junit.Before;
import org.junit.Test;
public class TestCipher {
+ @Before
+ public void checkVersion() {
+ Assume.assumeTrue(TesterOpenSSL.IS_EXPECTED_VERSION);
+ }
+
/**
* Checks that every cipher suite returned by OpenSSL is mapped to at least
* one cipher suite that is recognised by JSSE or is a cipher suite known
Modified:
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TesterOpenSSL.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TesterOpenSSL.java?rev=1614880&r1=1614879&r2=1614880&view=diff
==============================================================================
---
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TesterOpenSSL.java
(original)
+++
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TesterOpenSSL.java
Thu Jul 31 13:07:49 2014
@@ -16,17 +16,35 @@
*/
package org.apache.tomcat.util.net.jsse.openssl;
+import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
+import org.junit.Assert;
+
import org.apache.catalina.util.IOTools;
import org.apache.tomcat.util.http.fileupload.ByteArrayOutputStream;
public class TesterOpenSSL {
+ public static final String EXPECTED_VERSION = "1.0.1h";
+
+ public static final boolean IS_EXPECTED_VERSION;
+
+ static {
+ String versionString = null;
+ try {
+ versionString = executeOpenSSLCommand("version");
+ } catch (IOException e) {
+ versionString = "";
+ }
+ IS_EXPECTED_VERSION = versionString.contains(EXPECTED_VERSION);
+ }
+
+
private TesterOpenSSL() {
// Utility class. Hide default constructor.
}
@@ -44,30 +62,36 @@ public class TesterOpenSSL {
public static String getOpenSSLCiphersAsExpression(String specification)
throws Exception {
+ if (specification == null) {
+ return executeOpenSSLCommand("ciphers");
+ } else {
+ return executeOpenSSLCommand("ciphers", specification);
+ }
+ }
+
+
+ private static String executeOpenSSLCommand(String... args) throws
IOException {
String openSSLPath = System.getProperty("tomcat.test.openssl.path");
if (openSSLPath == null || openSSLPath.length() == 0) {
openSSLPath = "openssl";
}
List<String> cmd = new ArrayList<>();
cmd.add(openSSLPath);
- cmd.add("ciphers");
- if (specification != null) {
- cmd.add(specification);
+ for (String arg : args) {
+ cmd.add(arg);
}
+
Process process = Runtime.getRuntime().exec(cmd.toArray(new
String[cmd.size()]));
InputStream stderr = process.getErrorStream();
InputStream stdout = process.getInputStream();
ByteArrayOutputStream stderrBytes = new ByteArrayOutputStream();
IOTools.flow(stderr, stderrBytes);
- //String errorText = stderrBytes.toString();
- //Assert.assertTrue(errorText, errorText.length() == 0);
+ String errorText = stderrBytes.toString();
+ Assert.assertTrue(errorText, errorText.length() == 0);
ByteArrayOutputStream stdoutBytes = new ByteArrayOutputStream();
IOTools.flow(stdout, stdoutBytes);
return stdoutBytes.toString();
}
-
-
-
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]