diff options
author | James E. King III <jking@apache.org> | 2019-06-21 17:50:34 -0400 |
---|---|---|
committer | James E. King III <jking@apache.org> | 2019-07-07 12:16:52 -0400 |
commit | 93ff9b00531682ece08a1a43883e55fd2aa83a15 (patch) | |
tree | 69e0f337bd2fd92e0890eb20af44654f9a829c1e /lib/d | |
parent | 1a2dee60b4384de2f6190caa85cf3e2a497c31b9 (diff) | |
download | thrift-93ff9b00531682ece08a1a43883e55fd2aa83a15.tar.gz |
Update language levels, fix erlang and rust in CI
- Include rebar3 in docker image so erlang builds in CI
- Include the correct path in docker image so rust builds in CI
- Updated common lisp (sbcl) to 1.5.3 in docker image
- Updated dlang to 2.087.0 in docker image
- Updated dart to 2.0.0 in xenial docker image
- Updated dart to 2.4.0 in bionic docker image
- Updated erlang to 22.0 in docker image
- Updated openjdk to 11.0.3 in docker image
- Updated node.js to 10.16 in docker image
- Updated rust to 1.34.0 in xenial docker image
- Updated rust to 1.35.0 in bionic docker image
THRIFT-4905: Disable hanging experimental dlang async ssl test
Diffstat (limited to 'lib/d')
-rw-r--r-- | lib/d/README.md | 19 | ||||
-rwxr-xr-x | lib/d/test/Makefile.am | 19 | ||||
-rw-r--r-- | lib/d/test/async_test.d | 8 | ||||
-rwxr-xr-x | lib/d/test/async_test_runner.sh | 7 | ||||
-rw-r--r-- | lib/d/test/openssl.test.cnf | 14 | ||||
-rw-r--r-- | lib/d/test/thrift_test_server.d | 5 |
6 files changed, 18 insertions, 54 deletions
diff --git a/lib/d/README.md b/lib/d/README.md index 5d37e4fe7..9b188abf5 100644 --- a/lib/d/README.md +++ b/lib/d/README.md @@ -42,17 +42,8 @@ directory (PowerShell syntax): dmd -ofunittest -unittest -w $(dir -r -filter '*.d' -name) -If you want to run the test clients/servers in OpenSSL -mode, you have to provide »server-private-key.pem« and -»server-certificate.pem« files in the directory the server -executable resides in, and a »trusted-ca-certificate.pem« -file for the client. The easiest way is to generate a new -self signed certificate using the provided config file -(openssl.test.cnf): - -openssl req -new -x509 -nodes -config openssl.test.cnf \ - -out server-certificate.pem -cat server-certificate.pem > trusted-ca-certificate.pem - -This steps are also performed automatically by the -Autotools build system if the files are not present. +Async and SSL +------------- +Using SSL with async is experimental (always has been) and +the unit test "async_test --ssl" hangs. Use at your own +risk. diff --git a/lib/d/test/Makefile.am b/lib/d/test/Makefile.am index 3b6a6f14a..5ec8255bb 100755 --- a/lib/d/test/Makefile.am +++ b/lib/d/test/Makefile.am @@ -19,9 +19,6 @@ AUTOMAKE_OPTIONS = serial-tests -BUILT_SOURCES = trusted-ca-certificate.pem server-certificate.pem - - # Thrift compiler rules debug_proto_gen = $(addprefix gen-d/, DebugProtoTest_types.d) @@ -99,17 +96,6 @@ thrift_test_server: %: %.d thrift_test_common.d test_utils.d $(thrift_test_gen) $(DMD) $(d_test_flags) -of$@ $^ -# Certificate generation targets (for the SSL tests). -# Currently, we just assume that the "openssl" tool is on the path, could be -# replaced by a more elaborate mechanism. - -server-certificate.pem: openssl.test.cnf - openssl req -new -x509 -nodes -config openssl.test.cnf \ - -out server-certificate.pem - -trusted-ca-certificate.pem: server-certificate.pem - cat server-certificate.pem > $@ - check-local: $(targets) clean-local: @@ -118,9 +104,8 @@ clean-local: # Tests ran as part of make check. -async_test_runner.sh: async_test trusted-ca-certificate.pem server-certificate.pem -thrift_test_runner.sh: thrift_test_client thrift_test_server \ - trusted-ca-certificate.pem server-certificate.pem +async_test_runner.sh: async_test +thrift_test_runner.sh: thrift_test_client thrift_test_server TESTS = $(ran_tests) diff --git a/lib/d/test/async_test.d b/lib/d/test/async_test.d index fb765ad6e..51529ba86 100644 --- a/lib/d/test/async_test.d +++ b/lib/d/test/async_test.d @@ -104,18 +104,18 @@ void main(string[] args) { if (ssl) { auto clientSSLContext = new TSSLContext(); with (clientSSLContext) { - ciphers = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"; authenticate = true; - loadTrustedCertificates("./trusted-ca-certificate.pem"); + ciphers = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"; + loadTrustedCertificates("../../../test/keys/CA.pem"); } clientTransportFactory = new TAsyncSSLSocketFactory(clientSSLContext); serverSSLContext = new TSSLContext(); with (serverSSLContext) { serverSide = true; - loadCertificate("./server-certificate.pem"); - loadPrivateKey("./server-private-key.pem"); ciphers = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"; + loadCertificate("../../../test/keys/server.crt"); + loadPrivateKey("../../../test/keys/server.key"); } } else { clientTransportFactory = new TBufferedTransportFactory; diff --git a/lib/d/test/async_test_runner.sh b/lib/d/test/async_test_runner.sh index 7d507ee92..d56654f50 100755 --- a/lib/d/test/async_test_runner.sh +++ b/lib/d/test/async_test_runner.sh @@ -24,5 +24,8 @@ CUR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" # Runs the async test in both SSL and non-SSL mode. ${CUR}/async_test > /dev/null || exit 1 echo "Non-SSL tests done." -${CUR}/async_test --ssl > /dev/null || exit 1 -echo "SSL tests done." + +# THRIFT-4905: disabled the following test as it deadlocks / hangs +# ${CUR}/async_test --ssl > /dev/null || exit 1 +# echo "SSL tests done." +echo "THRIFT-4905: SSL tests are disabled. Fix them." diff --git a/lib/d/test/openssl.test.cnf b/lib/d/test/openssl.test.cnf deleted file mode 100644 index 2ada30b7c..000000000 --- a/lib/d/test/openssl.test.cnf +++ /dev/null @@ -1,14 +0,0 @@ -[ req ] -default_bits = 2048 -default_keyfile = server-private-key.pem -distinguished_name = req_distinguished_name -x509_extensions = v3_ca -prompt = no - -[ req_distinguished_name ] -CN = localhost - -[ v3_ca ] -# Add ::1 to the list of allowed IPs so we can use ::1 to explicitly connect -# to localhost via IPv6. -subjectAltName = IP:::1 diff --git a/lib/d/test/thrift_test_server.d b/lib/d/test/thrift_test_server.d index b582253c7..ce820d699 100644 --- a/lib/d/test/thrift_test_server.d +++ b/lib/d/test/thrift_test_server.d @@ -20,7 +20,7 @@ module thrift_test_server; import core.stdc.errno : errno; -import core.stdc.signal : signal, sigfn_t, SIGINT, SIG_DFL, SIG_ERR; +import core.stdc.signal : signal, SIGINT, SIG_DFL, SIG_ERR; import core.thread : dur, Thread; import std.algorithm; import std.exception : enforce; @@ -314,8 +314,7 @@ void main(string[] args) { processor, serverSocket, transportFactory, protocolFactory); // Set up SIGINT signal handling - sigfn_t oldHandler = signal(SIGINT, &handleSignal); - enforce(oldHandler != SIG_ERR, + enforce(signal(SIGINT, &handleSignal) != SIG_ERR, "Could not replace the SIGINT signal handler: errno {0}".format(errno())); // Set up a server cancellation trigger |