diff options
Diffstat (limited to 'jrt_test/src/tests/connect-close/Test.java')
-rw-r--r-- | jrt_test/src/tests/connect-close/Test.java | 39 |
1 files changed, 39 insertions, 0 deletions
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(); + } +} |