def testWorkerPdshGetCommand(self):
     # test worker.command with WorkerPdsh
     worker1 = WorkerPdsh(HOSTNAME, command="/bin/echo foo bar fuu",
                          handler=None, timeout=5)
     self._task.schedule(worker1)
     worker2 = WorkerPdsh(HOSTNAME, command="/bin/echo blah blah foo",
                          handler=None, timeout=5)
     self._task.schedule(worker2)
     # run task
     self._task.resume()
     # test output
     self.assertEqual(worker1.node_buffer(HOSTNAME), b"foo bar fuu")
     self.assertEqual(worker1.command, "/bin/echo foo bar fuu")
     self.assertEqual(worker2.node_buffer(HOSTNAME), b"blah blah foo")
     self.assertEqual(worker2.command, "/bin/echo blah blah foo")
 def testWorkerPdshGetCommand(self):
     # test worker.command with WorkerPdsh
     worker1 = WorkerPdsh(HOSTNAME, command="/bin/echo foo bar fuu",
                          handler=None, timeout=5)
     self.assert_(worker1 != None)
     self._task.schedule(worker1)
     worker2 = WorkerPdsh(HOSTNAME, command="/bin/echo blah blah foo",
                          handler=None, timeout=5)
     self.assert_(worker2 != None)
     self._task.schedule(worker2)
     # run task
     self._task.resume()
     # test output
     self.assertEqual(worker1.node_buffer(HOSTNAME), "foo bar fuu")
     self.assertEqual(worker1.command, "/bin/echo foo bar fuu")
     self.assertEqual(worker2.node_buffer(HOSTNAME), "blah blah foo")
     self.assertEqual(worker2.command, "/bin/echo blah blah foo")
 def testExplicitPdshWorker(self):
     # test simple localhost command with explicit pdsh worker
     # init worker
     worker = WorkerPdsh(HOSTNAME, command="echo alright", handler=None)
     self._task.schedule(worker)
     # run task
     self._task.resume()
     # test output
     self.assertEqual(worker.node_buffer(HOSTNAME), "alright")
示例#4
0
 def testEscapePdsh2(self):
     # test distant worker (pdsh) cmd with non-escaped variable
     cmd = r"export CSTEST=foobar; /bin/echo $CSTEST | sed 's/\ foo/bar/'"
     worker = WorkerPdsh(HOSTNAME, command=cmd, handler=None, timeout=None)
     self._task.schedule(worker)
     # execute
     self._task.resume()
     # read result
     self.assertEqual(worker.node_buffer(HOSTNAME), b"foobar")
 def testEscapePdsh2(self):
     # test distant worker (pdsh) cmd with non-escaped variable
     cmd = r"export CSTEST=foobar; /bin/echo $CSTEST | sed 's/\ foo/bar/'"
     worker = WorkerPdsh(HOSTNAME, command=cmd, handler=None, timeout=None)
     self._task.schedule(worker)
     # execute
     self._task.resume()
     # read result
     self.assertEqual(worker.node_buffer(HOSTNAME), b"foobar")
 def testExplicitPdshWorker(self):
     # test simple localhost command with explicit pdsh worker
     # init worker
     worker = WorkerPdsh(HOSTNAME, command="echo alright", handler=None)
     self._task.schedule(worker)
     # run task
     self._task.resume()
     # test output
     self.assertEqual(worker.node_buffer(HOSTNAME), b"alright")
 def testEscapePdsh2(self):
     """test distant worker (pdsh) cmd with non-escaped variable"""
     worker = WorkerPdsh("localhost", command="export CSTEST=foobar; /bin/echo $CSTEST | sed 's/\ foo/bar/'",
             handler=None, timeout=None)
     self._task.schedule(worker)
     # execute
     self._task.resume()
     # read result
     self.assertEqual(worker.node_buffer("localhost"), "foobar")
    def testWorkerPdshGetCommand(self):
        """test worker.command with WorkerPdsh"""

        worker1 = WorkerPdsh("localhost", command="/bin/echo foo bar fuu",
                             handler=None, timeout=5)
        self.assert_(worker1 != None)
        self._task.schedule(worker1)
        worker2 = WorkerPdsh("localhost", command="/bin/echo blah blah foo",
                             handler=None, timeout=5)
        self.assert_(worker2 != None)
        self._task.schedule(worker2)
        # run task
        self._task.resume()
        # test output
        self.assertEqual(worker1.node_buffer("localhost"), "foo bar fuu")
        self.assertEqual(worker1.command, "/bin/echo foo bar fuu")
        self.assertEqual(worker2.node_buffer("localhost"), "blah blah foo")
        self.assertEqual(worker2.command, "/bin/echo blah blah foo")
 def testExplicitPdshWorker(self):
     """test simple localhost command with explicit pdsh worker"""
     # init worker
     worker = WorkerPdsh("localhost", command="echo alright", handler=None, timeout=5)
     self.assert_(worker != None)
     self._task.schedule(worker)
     # run task
     self._task.resume()
     # test output
     self.assertEqual(worker.node_buffer("localhost"), "alright")
 def testEscapePdsh(self):
     # test distant worker (pdsh) cmd with escaped variable
     worker = WorkerPdsh(HOSTNAME, command="export CSTEST=foobar; /bin/echo \$CSTEST | sed 's/\ foo/bar/'",
             handler=None, timeout=None)
     #task.set_info("debug", True)
     self._task.schedule(worker)
     # execute
     self._task.resume()
     # read result
     self.assertEqual(worker.node_buffer(HOSTNAME), "$CSTEST")
 def testEscapePdsh(self):
     # test distant worker (pdsh) cmd with escaped variable
     worker = WorkerPdsh(HOSTNAME, command="export CSTEST=foobar; /bin/echo \$CSTEST | sed 's/\ foo/bar/'",
             handler=None, timeout=None)
     self.assert_(worker != None)
     #task.set_info("debug", True)
     self._task.schedule(worker)
     # execute
     self._task.resume()
     # read result
     self.assertEqual(worker.node_buffer(HOSTNAME), "$CSTEST")
 def testExplicitWorkerPdshShellEventsWithTimeout(self):
     # test triggered events (with timeout) with explicit pdsh worker
     test_eh = self.__class__.TEventHandlerChecker(self)
     worker = WorkerPdsh(HOSTNAME, command="echo alright && sleep 10",
                         handler=test_eh, timeout=2)
     self._task.schedule(worker)
     # run task
     self._task.resume()
     # test events received: start, read, timeout, close
     self.assertEqual(test_eh.flags, EV_START | EV_PICKUP | EV_READ | EV_TIMEOUT | EV_CLOSE)
     self.assertEqual(worker.node_buffer(HOSTNAME), b"alright")
 def testExplicitPdshWorkerWithOptions(self):
     self._task.set_info("pdsh_path", "/usr/bin/pdsh -S")
     worker = WorkerPdsh(HOSTNAME, command="echo alright", handler=None)
     self._task.schedule(worker)
     # run task
     self._task.resume()
     # test output
     self.assertEqual(worker.node_buffer(HOSTNAME), b"alright")
     # clear options after test
     task_cleanup()
     self.assertEqual(task_self().info("pdsh_path"), None)
示例#14
0
 def testExplicitPdshWorkerWithOptions(self):
     self._task.set_info("pdsh_path", "/usr/bin/pdsh -S")
     worker = WorkerPdsh(HOSTNAME, command="echo alright", handler=None)
     self._task.schedule(worker)
     # run task
     self._task.resume()
     # test output
     self.assertEqual(worker.node_buffer(HOSTNAME), "alright")
     # clear options after test
     task_cleanup()
     self.assertEqual(task_self().info("pdsh_path"), None)
 def testShellPdshEventsNoReadNoTimeout(self):
     # test triggered events (no read, no timeout) with explicit pdsh worker
     test_eh = self.__class__.TEventHandlerChecker(self)
     worker = WorkerPdsh(HOSTNAME, command="sleep 2", handler=test_eh,
                         timeout=None)
     self._task.schedule(worker)
     # run task
     self._task.resume()
     # test events received: start, close
     self.assertEqual(test_eh.flags, EV_START | EV_PICKUP | EV_HUP | EV_CLOSE)
     self.assertEqual(worker.node_buffer(HOSTNAME), None)
 def testExplicitWorkerPdshShellEventsWithTimeout(self):
     # test triggered events (with timeout) with explicit pdsh worker
     # init worker
     test_eh = self.__class__.TEventHandlerChecker(self)
     worker = WorkerPdsh(HOSTNAME, command="echo alright && sleep 10",
             handler=test_eh, timeout=2)
     self.assert_(worker != None)
     self._task.schedule(worker)
     # run task
     self._task.resume()
     # test events received: start, read, timeout, close
     self.assertEqual(test_eh.flags, EV_START | EV_READ | EV_TIMEOUT | EV_CLOSE)
     self.assertEqual(worker.node_buffer(HOSTNAME), "alright")
 def testEscapePdsh2(self):
     """test distant worker (pdsh) cmd with non-escaped variable"""
     worker = WorkerPdsh(
         "localhost",
         command=
         "export CSTEST=foobar; /bin/echo $CSTEST | sed 's/\ foo/bar/'",
         handler=None,
         timeout=None)
     self._task.schedule(worker)
     # execute
     self._task.resume()
     # read result
     self.assertEqual(worker.node_buffer("localhost"), "foobar")
 def testExplicitPdshWorker(self):
     """test simple localhost command with explicit pdsh worker"""
     # init worker
     worker = WorkerPdsh("localhost",
                         command="echo alright",
                         handler=None,
                         timeout=5)
     self.assert_(worker != None)
     self._task.schedule(worker)
     # run task
     self._task.resume()
     # test output
     self.assertEqual(worker.node_buffer("localhost"), "alright")
示例#19
0
 def testShellPdshEventsNoReadNoTimeout(self):
     # test triggered events (no read, no timeout) with explicit pdsh worker
     test_eh = self.__class__.TEventHandlerChecker(self)
     worker = WorkerPdsh(HOSTNAME,
                         command="sleep 2",
                         handler=test_eh,
                         timeout=None)
     self._task.schedule(worker)
     # run task
     self._task.resume()
     # test events received: start, close
     self.assertEqual(test_eh.flags, EV_START | EV_HUP | EV_CLOSE)
     self.assertEqual(worker.node_buffer(HOSTNAME), None)