Exemplo n.º 1
0
 def testNoShellEnv(self):
     utils.StartDaemon(["printenv", "GNT_TEST_VAR"],
                       output=self.tmpfile,
                       env={
                           "GNT_TEST_VAR": "Hello World",
                       })
     self._wait(self.tmpfile, 60.0, "Hello World")
  def testPidFile(self):
    pidfile = os.path.join(self.tmpdir, "pid")
    checkfile = os.path.join(self.tmpdir, "abort")

    pid = utils.StartDaemon("while sleep 5; do :; done", pidfile=pidfile,
                            output=self.tmpfile)
    try:
      fd = os.open(pidfile, os.O_RDONLY)
      try:
        # Check file is locked
        self.assertRaises(errors.LockError, utils.LockFile, fd)

        pidtext = os.read(fd, 100)
      finally:
        os.close(fd)

      self.assertEqual(int(pidtext.strip()), pid)

      self.assert_(utils.IsProcessAlive(pid))
    finally:
      # No matter what happens, kill daemon
      utils.KillProcess(pid, timeout=5.0, waitpid=False)
      self.failIf(utils.IsProcessAlive(pid))

    self.assertEqual(utils.ReadFile(self.tmpfile), "")
 def testOutputFd(self):
   fd = os.open(self.tmpfile, os.O_WRONLY | os.O_CREAT)
   try:
     utils.StartDaemon(["pwd"], output_fd=fd, cwd=os.getcwd())
   finally:
     os.close(fd)
   self._wait(self.tmpfile, 60.0, os.getcwd())
Exemplo n.º 4
0
 def testShellEnv(self):
     utils.StartDaemon("echo \"$GNT_TEST_VAR\"",
                       output=self.tmpfile,
                       env={
                           "GNT_TEST_VAR": "Hello World",
                       })
     self._wait(self.tmpfile, 60.0, "Hello World")
 def testPid(self):
   pid = utils.StartDaemon("echo $$ > %s" % self.tmpfile)
   self._wait(self.tmpfile, 60.0, str(pid))
 def testNoShellOutputCwd(self):
   utils.StartDaemon(["pwd"], output=self.tmpfile, cwd=os.getcwd())
   self._wait(self.tmpfile, 60.0, os.getcwd())
 def testNoShellOutput(self):
   utils.StartDaemon(["pwd"], output=self.tmpfile)
   self._wait(self.tmpfile, 60.0, "/")
 def testNoShellNoOutputTouch(self):
   testfile = os.path.join(self.tmpdir, "check")
   self.failIf(os.path.exists(testfile))
   utils.StartDaemon(["touch", testfile])
   self._wait(testfile, 60.0, "")
 def testNoShellNoOutput(self):
   utils.StartDaemon(["pwd"])
Exemplo n.º 10
0
 def testShellOutput(self):
   utils.StartDaemon("echo Hello World", output=self.tmpfile)
   self._wait(self.tmpfile, 60.0, "Hello World")
Exemplo n.º 11
0
 def testShell(self):
   utils.StartDaemon("echo Hello World > %s" % self.tmpfile)
   self._wait(self.tmpfile, 60.0, "Hello World")