def test_compress(self): config = { 'version': 2, 'robot': { 'modules': {}, 'links': [] } } config['robot']['modules']['publisher'] = { "driver": "osgar.test_zmqrouter:Publisher", "init": { "output": "count:gz"} } record(config, log_filename='compressed-publisher.log')
def test_fail_to_register(self): config = { 'version': 2, 'robot': { 'modules': {}, 'links': [] } } config['robot']['modules']['publisher'] = { "driver": "osgar.test_zmqrouter:Nonexisting", "init": { "output": "count:null"} } record(config, log_filename='null-publisher.log')
def test_publisher_multi(self): config = { 'version': 2, 'robot': { 'modules': {}, 'links': [] } } for i in range(3): config['robot']['modules'][f'publisher{i}'] = { "driver": "osgar.test_zmqrouter:Publisher", "init": { "output": f"count{i}" } } record(config, log_filename='publisher.log')
def test_publisher_threaded(self): config = { 'version': 2, 'robot': { 'modules': {}, 'links': [] } } config['robot']['modules']['publisher-threaded'] = { "driver": "osgar.test_zmqrouter:ThreadedPublisher", } record(config, log_filename='publisher-threaded.log', duration_sec=3) with osgar.logger.LogReader(self.tempdir/"publisher-threaded.log", only_stream_id=1) as log: count = sum(1 for _ in log) self.assertEqual(count, 10)
def test_fail_to_quit(self): config = { 'version': 2, 'robot': { 'modules': {}, 'links': [] } } config['robot']['modules']['publisher'] = { "driver": "osgar.test_zmqrouter:Publisher", "init": { "output": "count:null"} } config['robot']['modules']['noquit'] = { "driver": "osgar.test_zmqrouter:NoQuit", } record(config, log_filename='noquit.log')
def test_noop(self): config = { 'version': 2, 'robot': { 'modules': { "noop": { "driver": "osgar.test_zmqrouter:Noop", "init": {} }, }, 'links':[] } } record(config, log_filename='noop.log')
def test_publisher_single(self): config = { 'version': 2, 'robot': { 'modules': {}, 'links': [] } } config['robot']['modules']['publisher'] = { "driver": "osgar.test_zmqrouter:Publisher", "init": { "output": "count"} } record(config, log_filename='publisher.log') with osgar.logger.LogReader(self.tempdir/"publisher.log", only_stream_id=1) as log: last_dt = datetime.timedelta() count = 0 for dt, channel, data in log: self.assertGreater(dt, last_dt) self.assertEqual(int.from_bytes(data, 'little'), count) last_dt = dt count += 1
def test_delays(self): config = { 'version': 2, 'robot': { 'modules': {}, 'links': [] } } config['robot']['modules']['publisher-listener'] = { "driver": "osgar.test_zmqrouter:PublisherListener", "init": { "output": "count"} } config['robot']['modules']['publisher'] = { "driver": "osgar.test_zmqrouter:Publisher", "init": { "output": "count"} } config['robot']['links'] = [ ['publisher.count', 'publisher-listener.count'], ] record(config, log_filename='delays.log') with osgar.logger.LogReader(self.tempdir/"delays.log", only_stream_id=0) as log: count = 0 for dt, channel, data in log: data = ast.literal_eval(str(data, 'ascii')) if hasattr(data, 'keys') and 'delay' in data.keys(): count += 1 self.assertGreater(data['delay'], 0.15) self.assertEqual(count, 10)
"0": { "driver": "udp", "init": { "host": "127.0.0.1", "port": 9111, "timeout": 0.5 }, }, "1": { "driver": "udp", "init": { "host": "127.0.0.1", "port": 9111, "timeout": 0.5 }, }, "echo": { "driver": "osgar.drivers.test_logsocket:Echo", "init": { "data": b"ok" } }, } config['robot']['links'] = [['echo.raw0', '0.raw'], ['1.raw', 'echo.stdout'], ['echo.raw1', '1.raw'], ['0.raw', 'echo.stdout']] record(config, log_filename='logzeromq-zmqrouter.log') # vim: expandtab sw=4 ts=4
def test_fail_to_quit_duration(self): config = { 'version': 2, 'robot': { 'modules': {}, 'links': [] } } config['robot']['modules']['noquit'] = { "driver": "osgar.test_zmqrouter:NoQuit", } record(config, log_filename='duration-no-quit.log', duration_sec=0.3)
def test_duration(self): config = { 'version': 2, 'robot': { 'modules': {}, 'links': [] } } config['robot']['modules']['listener'] = { "driver": "osgar.test_zmqrouter:Listener", } record(config, log_filename='duration.log', duration_sec=0.3)
def test_sleep(self): config = { 'version': 2, 'robot': { 'modules': {}, 'links': [] } } config['robot']['modules']['sleeper'] = { "driver": "osgar.test_zmqrouter:Sleeper", } record(config, log_filename='sleeps.log')