title: Ping a network using threads and testing it
body: <p>I am trying to ping two different networks with thread. I am able to get the response I want but I want to convert it into a test. I have the code that I have tried below but the test runner says that no tests were run. The code is below:</p>
  
  <pre><code>#!/home/workspace/downloads/Python-2.6.4/python
  from threading import Thread 
  import subprocess, unittest
  from Queue import Queue 
  
  
  class TestPing(unittest.TestCase):
      num_threads = 4 
      queue = Queue() 
      ips = ["10.51.54.100", "10.51.54.122"] 
      #wraps system ping command 
      def RunTest(i, q): 
          """Pings subnet""" 
          while True: 
              ip = q.get() 
              print "Thread %s: Pinging %s" % (i, ip) 
              ret = subprocess.call("ping -c 1 %s" % ip, 
                              shell=True, 
                              stdout=open('/dev/null', 'w'), 
                              stderr=subprocess.STDOUT) 
              if ret == 0: 
                  print "%s: is alive" % ip
                  assert True 
              else: 
                  print "%s: did not respond" % ip 
                  assert False
              q.task_done() 
          #Spawn thread pool 
          for i in range(num_threads): 
  
              worker = Thread(target=pinger, args=(i, queue)) 
              worker.setDaemon(True) 
              worker.start() 
              #Place work in queue 
          for ip in ips: 
              queue.put(ip) 
          #Wait until worker threads are done to exit     
              queue.join()
  
  
  class PingTestSuite(unittest.TestSuite):
  
      def makePingTestSuite():
          suite = unittest.TestSuite()
          suite.addTest(TestPingMove("TestPing"))
          return suite
  
      def suite():
          return unittest.makeSuite(TestPing)
  
  if __name__ == '__main__':
      unittest.main()
  </code></pre>
  
  <p>I want the test to assert either true and false if a network gives no response and to run two tests for the 2 networks to be pinged. Does anyone know where I have gone wrong?</p>