diff options
author | Björn Gustavsson <[email protected]> | 2010-08-27 11:44:26 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2010-08-27 11:44:26 +0200 |
commit | 087b863947f6689ea9d47300b24528015e579dc0 (patch) | |
tree | 76929165cffdb975dd95e78a2b1752751a5d9bce /lib/jinterface/test/jinterface_SUITE_data/NodePing.java | |
parent | 6c00708e21bccffff84595f714cf9c1003cc8916 (diff) | |
parent | 76e841903e439067d55cdbebb814e7ce86034826 (diff) | |
download | otp-087b863947f6689ea9d47300b24528015e579dc0.tar.gz otp-087b863947f6689ea9d47300b24528015e579dc0.tar.bz2 otp-087b863947f6689ea9d47300b24528015e579dc0.zip |
Merge branch 'bjorn/jinterface-test-suite' into maint-r13
* bjorn/jinterface-test-suite:
Add test suite for jinterface
Diffstat (limited to 'lib/jinterface/test/jinterface_SUITE_data/NodePing.java')
-rw-r--r-- | lib/jinterface/test/jinterface_SUITE_data/NodePing.java | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/lib/jinterface/test/jinterface_SUITE_data/NodePing.java b/lib/jinterface/test/jinterface_SUITE_data/NodePing.java new file mode 100644 index 0000000000..d0df5c46b5 --- /dev/null +++ b/lib/jinterface/test/jinterface_SUITE_data/NodePing.java @@ -0,0 +1,83 @@ +/* + * %CopyrightBegin% + * + * Copyright Ericsson AB 2004-2010. All Rights Reserved. + * + * The contents of this file are subject to the Erlang Public License, + * Version 1.1, (the "License"); you may not use this file except in + * compliance with the License. You should have received a copy of the + * Erlang Public License along with this software. If not, it can be + * retrieved online at http://www.erlang.org/. + * + * Software distributed under the License is distributed on an "AS IS" + * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See + * the License for the specific language governing rights and limitations + * under the License. + * + * %CopyrightEnd% + */ + +import com.ericsson.otp.erlang.*; + +class NodePing { + + /* + Implements test case jinterface_SUITE:node_ping/1 + + Creates three OtpNode objects. One with default cookie, one with + specified same cookie as the node running the test case and one + with a faulty cookie. From each OtpNode object the test_server + node is pinged. + + Also the default cookie node pings itself, and the node with the + specified cookie pings the node with default cookie. + */ + + public static void main(String argv[]) { + + String cookie = argv[0]; + String erlNode = argv[1]; + + try { + OtpNode node1 = new OtpNode("javanode1"); + ping(node1,erlNode,"Default cookie:",true,1); + ping(node1,node1.node(),"Self:",true,2); + ping(node1,"javanode1","Self:",true,3); + + OtpNode node2 = new OtpNode("javanode2",cookie); + ping(node2,erlNode,"Specified cookie:",true,4); + ping(node2,"javanode1","Javanode (no host):",true,5); + ping(node2,node1.node(),"Javanode:",true,6); + + OtpNode node3 = new OtpNode("javanode3","faultycookie"); + ping(node3,erlNode,"Faulty cookie:",false,7); + + // Test OtpNode.cookie() and OtpNode.setCookie(cookie) as well + if (!node3.cookie().equals("faultycookie")) + fail("Testing OtpNode.cookie()",8); + String old = node3.setCookie(cookie); + if (!old.equals("faultycookie")) + fail("Checking return of OtpNode.setCookie(cookie)",9); + ping(node3,erlNode,"setCookie:",true,10); + } + catch (Exception e) { + fail("" + e, 11); + } + } + + private static void ping(OtpNode node, String remote, String descr, + boolean expected, int reason) { + if ( node.ping(remote,2000) == expected ) { + System.out.println(descr + " ping(" + remote + ") -> " + expected); + } + else { + fail("ERROR: " + descr + " ping(" + remote +") -> " + !expected, + reason); + } + } + + private static void fail(String str, int reason) { + System.out.println(str); + System.exit(reason); + } +} |