Upgrade the test tool.
authorEric S. Raymond <esr@thyrsus.com>
Fri, 17 May 2013 14:01:37 +0000 (10:01 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Fri, 17 May 2013 14:01:37 +0000 (10:01 -0400)
hacking.txt
irk

index c56f559bdc277cab31c80bb881c3e5b8d76bb11e..286bd2dbf31dd3a44540223b21bd827c53713d66 100644 (file)
@@ -37,7 +37,7 @@ type switch. It can deduce the repo type by looking, so it should.
 
 2. Do 'make pylint' to audit the code.
 
-3. Run irkerd and irkerhook.py; look at #irker on freenode to verify.
+3. Run irk with a sample message; look at #irker on freenode to verify.
 
 4. Bump the version numbers in irkerd and irkerhook.py
 
diff --git a/irk b/irk
index 9a93c3fbfda05cde239cf145759a7401417482f1..4ca4a842d6defe19a957cdea18419ce861d2ccd9 100755 (executable)
--- a/irk
+++ b/irk
@@ -1,5 +1,6 @@
 #!/usr/bin/env python
-# Illustrates how to test irkerd.
+# Illustrates how to test irkerd.  Requires that the irkerd source
+# be in the current directory.
 #
 # First argument must be a channel URL. If it does not begin with "irc", 
 # the base URL for freenode is prepended.
@@ -11,16 +12,29 @@ import json
 import socket
 import sys
 import fileinput
+import subprocess
+import time
+import os
 
 def send(target, message):
     data = {"to": target, "privmsg" : message}
-    print(json.dumps(data))
+    #print(json.dumps(data))
     try:
         s = socket.create_connection(("localhost", 6659))
         s.sendall(json.dumps(data))
     except socket.error, e:
         sys.stderr.write("irkerd: write to server failed: %r\n" % e)
 
+spawn = None
+try:
+    # irkerd might already be running
+    s = socket.create_connection(("localhost", 6659))
+except:
+    # If it isn't, spawn an instance
+    print "Spawning an irker instance..."
+    subprocess.Popen("irkerd", shell=True)
+    time.sleep(0.5)
+
 target = sys.argv[1]
 if not "irc:" in target:
     target = "irc://chat.freenode.net/{0}".format(target)