Ejemplo n.º 1
0
 def test_message_contains_time(self):
     proc = Process('echo 123')
     proc._env = FakeEnv()
     proc._child_ctor = FakePopen
     proc.run(self.q)
     msg = self.q.messages[0]
     self.assertEqual(datetime.datetime(2012, 8, 11, 12, 42), msg.time)
Ejemplo n.º 2
0
 def test_output_receives_start_with_pid(self):
     proc = Process('echo 123')
     proc._child_ctor = FakePopen
     proc.run(self.q)
     msg = self.q.messages[0]
     assert msg.type == 'start'
     assert msg.data == {'pid': 66}
Ejemplo n.º 3
0
 def test_message_contains_time(self):
     proc = Process('echo 123')
     proc._env = FakeEnv()
     proc._child_ctor = FakePopen
     proc.run(self.q)
     msg = self.q.messages[0]
     assert msg.time == datetime.datetime(2012, 8, 11, 12, 42)
Ejemplo n.º 4
0
 def test_output_receives_start_with_pid(self):
     proc = Process('echo 123')
     proc._child_ctor = FakePopen
     proc.run(self.q)
     msg = self.q.messages[0]
     self.assertEqual('start', msg.type)
     self.assertEqual({'pid': 66}, msg.data)
Ejemplo n.º 5
0
 def test_output_receives_start_with_pid(self):
     proc = Process('echo 123')
     proc._child_ctor = FakePopen
     proc.run(self.q)
     msg = self.q.messages[0]
     assert msg.type == 'start'
     assert msg.data == {'pid': 66}
Ejemplo n.º 6
0
    def test_output_receives_lines_invalid_utf8(self):
        def _ctor(*args, **kwargs):
            popen = FakePopen(*args, **kwargs)
            popen.stdout = FakeOutput(lines=[b"\xfe\xff\n"])
            return popen

        proc = Process('echo 123')
        proc._child_ctor = _ctor
        proc.run(self.q)
        self.assertTrue(self.q.got_message(b"\xfe\xff\n"))
Ejemplo n.º 7
0
    def test_output_receives_lines_invalid_utf8(self):
        def _ctor(*args, **kwargs):
            popen = FakePopen(*args, **kwargs)
            popen.stdout = FakeOutput(lines=[b"\xfe\xff\n"])
            return popen

        proc = Process('echo 123')
        proc._child_ctor = _ctor
        proc.run(self.q)
        assert self.q.got_message(b"\xfe\xff\n")
Ejemplo n.º 8
0
    def test_output_receives_lines(self):
        def _ctor(*args, **kwargs):
            popen = FakePopen(*args, **kwargs)
            popen.stdout = FakeOutput(lines=[b"hello\n", b"world\n"])
            return popen

        proc = Process('echo 123')
        proc._child_ctor = _ctor
        proc.run(self.q)
        assert self.q.got_message(b"hello\n")
        assert self.q.got_message(b"world\n")
Ejemplo n.º 9
0
    def test_output_does_not_receive_lines_when_quiet(self):
        def _ctor(*args, **kwargs):
            popen = FakePopen(*args, **kwargs)
            popen.stdout = FakeOutput(lines=[b"hello\n", b"world\n"])
            return popen

        proc = Process('echo 123', quiet=True)
        proc._child_ctor = _ctor
        proc.run(self.q)
        self.assertFalse(self.q.got_message(b"hello\n"))
        self.assertFalse(self.q.got_message(b"world\n"))
Ejemplo n.º 10
0
    def test_output_receives_lines(self):
        def _ctor(*args, **kwargs):
            popen = FakePopen(*args, **kwargs)
            popen.stdout = FakeOutput(lines=[b"hello\n", b"world\n"])
            return popen

        proc = Process('echo 123')
        proc._child_ctor = _ctor
        proc.run(self.q)
        self.assertTrue(self.q.got_message(b"hello\n"))
        self.assertTrue(self.q.got_message(b"world\n"))
Ejemplo n.º 11
0
    def test_output_receives_stop_with_returncode(self):
        def _ctor(*args, **kwargs):
            popen = FakePopen(*args, **kwargs)
            popen.returncode = 42
            return popen

        proc = Process('echo 123')
        proc._child_ctor = _ctor
        proc.run(self.q)
        msg = self.q.find_message({'returncode': 42})
        self.assertEqual('stop', msg.type)
Ejemplo n.º 12
0
    def test_output_receives_stop_with_returncode(self):
        def _ctor(*args, **kwargs):
            popen = FakePopen(*args, **kwargs)
            popen.returncode = 42
            return popen

        proc = Process('echo 123')
        proc._child_ctor = _ctor
        proc.run(self.q)
        msg = self.q.find_message({'returncode': 42})
        assert msg.type == 'stop'
Ejemplo n.º 13
0
    def test_output_does_not_receive_lines_when_quiet(self):
        def _ctor(*args, **kwargs):
            popen = FakePopen(*args, **kwargs)
            popen.stdout = FakeOutput(lines=[b"hello\n", b"world\n"])
            return popen

        proc = Process('echo 123', quiet=True)
        proc._child_ctor = _ctor
        proc.run(self.q)
        assert not self.q.got_message(b"hello\n")
        assert not self.q.got_message(b"world\n")
Ejemplo n.º 14
0
 def test_output_receives_stop(self):
     proc = Process('echo 123')
     proc._child_ctor = FakePopen
     proc.run(self.q)
     msg = self.q.messages[-1]
     self.assertEqual('stop', msg.type)
Ejemplo n.º 15
0
 def test_output_receives_stop(self):
     proc = Process('echo 123')
     proc._child_ctor = FakePopen
     proc.run(self.q)
     msg = self.q.messages[-1]
     assert msg.type == 'stop'
Ejemplo n.º 16
0
 def test_cwd_passed_along(self):
     proc = Process('echo 123', cwd='fake-dir')
     proc._child_ctor = FakePopen
     proc.run(self.q)
     assert proc._child.kwargs['cwd'] == 'fake-dir'
Ejemplo n.º 17
0
 def test_message_contains_colour(self):
     proc = Process('echo 123', colour="red")
     proc._child_ctor = FakePopen
     proc.run(self.q)
     msg = self.q.messages[0]
     assert msg.colour == "red"
Ejemplo n.º 18
0
 def test_message_contains_name(self):
     proc = Process('echo 123', name="barry")
     proc._child_ctor = FakePopen
     proc.run(self.q)
     msg = self.q.messages[0]
     self.assertEqual("barry", msg.name)
Ejemplo n.º 19
0
 def test_message_contains_name(self):
     proc = Process('echo 123', name="barry")
     proc._child_ctor = FakePopen
     proc.run(self.q)
     msg = self.q.messages[0]
     assert msg.name == "barry"
Ejemplo n.º 20
0
 def test_message_contains_colour(self):
     proc = Process('echo 123', colour="red")
     proc._child_ctor = FakePopen
     proc.run(self.q)
     msg = self.q.messages[0]
     self.assertEqual("red", msg.colour)