diff options
Diffstat (limited to 'jrt_test/src/tests/connect-close')
-rw-r--r-- | jrt_test/src/tests/connect-close/.gitignore | 3 | ||||
-rw-r--r-- | jrt_test/src/tests/connect-close/CMakeLists.txt | 1 | ||||
-rw-r--r-- | jrt_test/src/tests/connect-close/DESC | 1 | ||||
-rw-r--r-- | jrt_test/src/tests/connect-close/FILES | 1 | ||||
-rw-r--r-- | jrt_test/src/tests/connect-close/Test.java | 39 |
5 files changed, 45 insertions, 0 deletions
diff --git a/jrt_test/src/tests/connect-close/.gitignore b/jrt_test/src/tests/connect-close/.gitignore new file mode 100644 index 00000000000..3e5691f8847 --- /dev/null +++ b/jrt_test/src/tests/connect-close/.gitignore @@ -0,0 +1,3 @@ +.depend +Makefile +Test.class diff --git a/jrt_test/src/tests/connect-close/CMakeLists.txt b/jrt_test/src/tests/connect-close/CMakeLists.txt new file mode 100644 index 00000000000..5c90dd5bfcc --- /dev/null +++ b/jrt_test/src/tests/connect-close/CMakeLists.txt @@ -0,0 +1 @@ +# Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. diff --git a/jrt_test/src/tests/connect-close/DESC b/jrt_test/src/tests/connect-close/DESC new file mode 100644 index 00000000000..d39f23bc4f2 --- /dev/null +++ b/jrt_test/src/tests/connect-close/DESC @@ -0,0 +1 @@ +Try to uncover bad behavior related to closing connections. diff --git a/jrt_test/src/tests/connect-close/FILES b/jrt_test/src/tests/connect-close/FILES new file mode 100644 index 00000000000..f24627b5d6d --- /dev/null +++ b/jrt_test/src/tests/connect-close/FILES @@ -0,0 +1 @@ +Test.java diff --git a/jrt_test/src/tests/connect-close/Test.java b/jrt_test/src/tests/connect-close/Test.java new file mode 100644 index 00000000000..8d42e821887 --- /dev/null +++ b/jrt_test/src/tests/connect-close/Test.java @@ -0,0 +1,39 @@ +// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +import com.yahoo.jrt.*; + +public class Test implements FatalErrorHandler { + + boolean error = false; + int port = 0; + + public void handleFailure(Throwable t, Object o) { + System.err.println("FATAL ERROR -> " + o); + t.printStackTrace(); + error = true; + } + + public void myMain() { + Supervisor server = new Supervisor(new Transport(this)); + Supervisor client = new Supervisor(new Transport(this)); + try { + port = server.listen(new Spec(0)).port(); // random port + } catch (ListenFailedException e) { + System.err.println("Listen failed"); + System.exit(1); + } + + Target a = client.connect(new Spec("localhost", port)); + + server.transport().shutdown().join(); + client.transport().shutdown().join(); + + if (error) { + System.exit(1); + } + } + + public static void main(String[] args) { + new Test().myMain(); + } +} |