summaryrefslogtreecommitdiffstats
path: root/tests/DiagTalker.java
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2009-05-25 13:02:06 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2009-05-25 13:02:06 +0200
commit7a7ec37f99f3dd5120952e6ca6263dd72061abb1 (patch)
treef2054bf445ed844606172346210f244a67db2cc7 /tests/DiagTalker.java
parentaaef9aa018dc030a7b5b2585bad19812ff214fab (diff)
downloadrsyslog-7a7ec37f99f3dd5120952e6ca6263dd72061abb1.tar.gz
rsyslog-7a7ec37f99f3dd5120952e6ca6263dd72061abb1.tar.xz
rsyslog-7a7ec37f99f3dd5120952e6ca6263dd72061abb1.zip
improved testbench / solved imdiag race condition
imdiag/imtcp had a modload race condition (as imdiag is a testing aid, this has no implications for production deployments). Also, I replaced netcat by a custom program to talk to imdiag. This, for the first time ever, is now a Java program. I plan to add some GUI troubleshooting tools and thought it is a good idea to start doing things in Java that can simply be done in that language.
Diffstat (limited to 'tests/DiagTalker.java')
-rw-r--r--tests/DiagTalker.java43
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/DiagTalker.java b/tests/DiagTalker.java
new file mode 100644
index 00000000..e33a5867
--- /dev/null
+++ b/tests/DiagTalker.java
@@ -0,0 +1,43 @@
+//package com.rsyslog.diag;
+import java.io.*;
+import java.net.*;
+
+public class DiagTalker {
+ public static void main(String[] args) throws IOException {
+
+ Socket diagSocket = null;
+ PrintWriter out = null;
+ BufferedReader in = null;
+ final String host = "127.0.0.1";
+ final int port = 13500;
+
+ try {
+ diagSocket = new Socket(host, port);
+ out = new PrintWriter(diagSocket.getOutputStream(), true);
+ in = new BufferedReader(new InputStreamReader(
+ diagSocket.getInputStream()));
+ } catch (UnknownHostException e) {
+ System.err.println("can not resolve " + host + "!");
+ System.exit(1);
+ } catch (IOException e) {
+ System.err.println("Couldn't get I/O for "
+ + "the connection to: " + host + ".");
+ System.exit(1);
+ }
+
+ BufferedReader stdIn = new BufferedReader(
+ new InputStreamReader(System.in));
+ String userInput;
+
+ while ((userInput = stdIn.readLine()) != null) {
+ out.println(userInput);
+ System.out.println("imdiag returns: " + in.readLine());
+ }
+
+ out.close();
+ in.close();
+ stdIn.close();
+ diagSocket.close();
+ }
+}
+