def test_handle_read_event(self):
     options = DummyOptions()
     options.readfd_result = "abc"
     config = DummyPConfig(options, "process1", "/bin/process1", stdout_capture_maxbytes=100)
     process = DummyProcess(config)
     dispatcher = self._makeOne(process)
     self.assertEqual(dispatcher.handle_read_event(), None)
     self.assertEqual(dispatcher.output_buffer, "abc")
Example #2
0
 def test_handle_read_event(self):
     options = DummyOptions()
     options.readfd_result = 'abc'
     config = DummyPConfig(options, 'process1', '/bin/process1',
                           stdout_capture_maxbytes=100)
     process = DummyProcess(config)
     dispatcher = self._makeOne(process)
     self.assertEqual(dispatcher.handle_read_event(), None)
     self.assertEqual(dispatcher.output_buffer, 'abc')
 def test_handle_read_event_logging_childlog(self):
     options = DummyOptions()
     options.readfd_result = "supercalifragilisticexpialidocious"
     config = DummyPConfig(options, "process1", "/bin/process1", stdout_logfile="/tmp/foo")
     process = DummyProcess(config)
     dispatcher = self._makeOne(process)
     self.assertEqual(dispatcher.handle_read_event(), None)
     self.assertEqual(len(dispatcher.childlog.data), 1)
     self.assertEqual(dispatcher.childlog.data[0], "supercalifragilisticexpialidocious")
Example #4
0
 def test_handle_read_event_logging_nologs(self):
     options = DummyOptions()
     options.readfd_result = 'supercalifragilisticexpialidocious'
     config = DummyPConfig(options, 'process1', '/bin/process1')
     process = DummyProcess(config)
     dispatcher = self._makeOne(process)
     # just make sure there are no errors if a child logger doesnt
     # exist
     self.assertEqual(dispatcher.handle_read_event(), None)
     self.assertEqual(dispatcher.childlog, None)
Example #5
0
 def test_handle_read_event_logging_nologs(self):
     options = DummyOptions()
     options.readfd_result = 'supercalifragilisticexpialidocious'
     config = DummyPConfig(options, 'process1', '/bin/process1')
     process = DummyProcess(config)
     dispatcher = self._makeOne(process)
     # just make sure there are no errors if a child logger doesnt
     # exist
     self.assertEqual(dispatcher.handle_read_event(), None)
     self.assertEqual(dispatcher.childlog, None)
Example #6
0
 def test_handle_read_event_no_data_closes(self):
     options = DummyOptions()
     options.readfd_result = ''
     config = DummyPConfig(options, 'process1', '/bin/process1',
                           stdout_capture_maxbytes=100)
     process = DummyProcess(config)
     dispatcher = self._makeOne(process)
     self.assertFalse(dispatcher.closed)
     self.assertEqual(dispatcher.handle_read_event(), None)
     self.assertEqual(dispatcher.output_buffer, '')
     self.assertTrue(dispatcher.closed)
Example #7
0
 def test_handle_read_event_nodata(self):
     options = DummyOptions()
     options.readfd_result = ''
     config = DummyPConfig(options, 'process1', '/bin/process1')
     process = DummyProcess(config)
     dispatcher = self._makeOne(process)
     self.assertEqual(dispatcher.handle_read_event(), None)
     self.assertEqual(dispatcher.state_buffer, '')
     from supervisor.dispatchers import EventListenerStates
     self.assertEqual(dispatcher.process.listener_state,
                      EventListenerStates.ACKNOWLEDGED)
Example #8
0
 def test_handle_read_event_nodata(self):
     options = DummyOptions()
     options.readfd_result = ''
     config = DummyPConfig(options, 'process1', '/bin/process1')
     process = DummyProcess(config)
     dispatcher = self._makeOne(process)
     self.assertEqual(dispatcher.handle_read_event(), None)
     self.assertEqual(dispatcher.state_buffer, '')
     from supervisor.dispatchers import EventListenerStates
     self.assertEqual(dispatcher.process.listener_state,
                      EventListenerStates.ACKNOWLEDGED)
Example #9
0
 def test_handle_read_event_logging_childlog(self):
     options = DummyOptions()
     options.readfd_result = 'supercalifragilisticexpialidocious'
     config = DummyPConfig(options, 'process1', '/bin/process1',
                           stdout_logfile='/tmp/foo')
     process = DummyProcess(config)
     dispatcher = self._makeOne(process)
     self.assertEqual(dispatcher.handle_read_event(), None)
     self.assertEqual(len(dispatcher.childlog.data), 1)
     self.assertEqual(dispatcher.childlog.data[0],
                      'supercalifragilisticexpialidocious')
Example #10
0
 def test_handle_read_event_logging_childlog(self):
     options = DummyOptions()
     options.readfd_result = 'supercalifragilisticexpialidocious'
     config = DummyPConfig(options, 'process1', '/bin/process1',
                           stdout_logfile=os.path.join(tempfile.gettempdir(), 'foo.txt'))
     process = DummyProcess(config)
     dispatcher = self._makeOne(process)
     self.assertEqual(dispatcher.handle_read_event(), None)
     self.assertEqual(len(dispatcher.childlog.data), 1)
     self.assertEqual(dispatcher.childlog.data[0],
                      'supercalifragilisticexpialidocious')
    def test_strip_ansi(self):
        options = DummyOptions()
        options.strip_ansi = True
        config = DummyPConfig(options, "process1", "/bin/process1", stdout_logfile="/tmp/foo")
        process = DummyProcess(config)
        dispatcher = self._makeOne(process)
        ansi = "\x1b[34mHello world... this is longer than a token!\x1b[0m"
        noansi = "Hello world... this is longer than a token!"

        options.readfd_result = ansi
        dispatcher.handle_read_event()
        self.assertEqual(len(dispatcher.childlog.data), 1)
        self.assertEqual(dispatcher.childlog.data[0], noansi)

        options.strip_ansi = False

        options.readfd_result = ansi
        dispatcher.handle_read_event()
        self.assertEqual(len(dispatcher.childlog.data), 2)
        self.assertEqual(dispatcher.childlog.data[1], ansi)
Example #12
0
    def test_strip_ansi(self):
        options = DummyOptions()
        options.strip_ansi = True
        config = DummyPConfig(options, 'process1', '/bin/process1',
                              stdout_logfile='/tmp/foo')
        process = DummyProcess(config)
        dispatcher = self._makeOne(process)
        ansi = '\x1b[34mHello world... this is longer than a token!\x1b[0m'
        noansi = 'Hello world... this is longer than a token!'

        options.readfd_result = ansi
        dispatcher.handle_read_event()
        self.assertEqual(len(dispatcher.childlog.data), 1)
        self.assertEqual(dispatcher.childlog.data[0], noansi)

        options.strip_ansi = False

        options.readfd_result = ansi
        dispatcher.handle_read_event()
        self.assertEqual(len(dispatcher.childlog.data), 2)
        self.assertEqual(dispatcher.childlog.data[1], ansi)
Example #13
0
    def test_strip_ansi(self):
        options = DummyOptions()
        options.strip_ansi = True
        config = DummyPConfig(options, 'process1', '/bin/process1',
                              stdout_logfile=os.path.join(tempfile.gettempdir(), 'foo.txt'))
        process = DummyProcess(config)
        dispatcher = self._makeOne(process)
        ansi = '\x1b[34mHello world... this is longer than a token!\x1b[0m'
        noansi = 'Hello world... this is longer than a token!'

        options.readfd_result = ansi
        dispatcher.handle_read_event()
        self.assertEqual(len(dispatcher.childlog.data), 1)
        self.assertEqual(dispatcher.childlog.data[0], noansi)

        options.strip_ansi = False

        options.readfd_result = ansi
        dispatcher.handle_read_event()
        self.assertEqual(len(dispatcher.childlog.data), 2)
        self.assertEqual(dispatcher.childlog.data[1], ansi)
    def test_handle_read_event_calls_handle_listener_state_change(self):
        options = DummyOptions()
        config = DummyPConfig(options, "process1", "/bin/process1", stdout_logfile="/tmp/foo")
        process = DummyProcess(config)
        from supervisor.dispatchers import EventListenerStates

        process.listener_state = EventListenerStates.ACKNOWLEDGED
        dispatcher = self._makeOne(process)
        options.readfd_result = dispatcher.READY_FOR_EVENTS_TOKEN
        self.assertEqual(dispatcher.handle_read_event(), None)
        self.assertEqual(process.listener_state, EventListenerStates.READY)
        self.assertEqual(dispatcher.state_buffer, "")
        self.assertEqual(len(dispatcher.childlog.data), 1)
        self.assertEqual(dispatcher.childlog.data[0], dispatcher.READY_FOR_EVENTS_TOKEN)
Example #15
0
 def test_handle_read_event_calls_handle_listener_state_change(self):
     options = DummyOptions()
     config = DummyPConfig(options, 'process1', '/bin/process1',
                           stdout_logfile='/tmp/foo')
     process = DummyProcess(config)
     from supervisor.dispatchers import EventListenerStates
     process.listener_state = EventListenerStates.ACKNOWLEDGED
     dispatcher = self._makeOne(process)
     options.readfd_result = dispatcher.READY_FOR_EVENTS_TOKEN
     self.assertEqual(dispatcher.handle_read_event(), None)
     self.assertEqual(process.listener_state, EventListenerStates.READY)
     self.assertEqual(dispatcher.state_buffer, '')
     self.assertEqual(len(dispatcher.childlog.data), 1)
     self.assertEqual(dispatcher.childlog.data[0],
                      dispatcher.READY_FOR_EVENTS_TOKEN)