Пример #1
0
def main(transport_logical_preset, application_preset):
    """Run echo test."""
    connection = connect_serial_retry(baudrate=115200, timeout=0.05)
    if connection is None:
        logger.fatal('Failed to establish serial connection!')
        return

    handlers = {
        'echo': LoggingHandler(b'echo', name='Echo'),
        'copy': LoggingHandler(b'copy', name='Copy'),
        'reply': LoggingHandler(b'reply', name='Reply'),
        'prefix': LoggingHandler(b'prefix', name='Prefix'),
        'blink': LoggingHandler(b'blink', name='Blink'),
        'ping-pong': PingPongHandler()
    }

    protocol = AutomaticStack(make_preset_stack(
        transport_logical=transport_logical_preset, application=application_preset
    ), list(handlers.values()), ReceiveLoggerLink())
    stack = PollingSerialAdapter(connection, protocol)
    logger.info(stack)

    time.sleep(1.0)
    run_once(run_console, stack, receive_once_blocking, handlers)
    logger.info('Quitting!')
Пример #2
0
def test_minimal_loopback_below():
    """Test for correct echo from send to receive with minimal stack."""
    print('Testing minimal application loopback with BottomLoopbackLink...')
    stack = AutomaticStack(BottomLoopbackLink(),
                           make_minimal(),
                           name='LoopbackBelow')
    print(stack)
    assert_loopback_below(stack, (1, 2, (3, {'foo': 'bar'})))
Пример #3
0
def main():
    """Run loopback test."""
    coupler = PollingPipelineBottomCoupler(
        make_stack(application_stack=make_minimal),
        AutomaticStack(make_stack(), TopLoopbackLink())
    )
    print(coupler)
    run(coupler, 25000)
    print('Quitting!')
Пример #4
0
def test_pubsub_loopback_below():
    """Test for correct echo from send to receive with pub-sub stack."""
    print('Testing pub-sub application loopback with BottomLoopbackLink...')
    stack = AutomaticStack(BottomLoopbackLink(),
                           make_pubsub(),
                           name='LoopbackBelow')
    print(stack)
    topic = b'test'
    assert_loopback_below(stack, (topic, (1, 2, (3, {'foo': 'bar'}))))
Пример #5
0
def test_transport_loopback_below(logical_substack_factory):
    """Test for correct echo from send to receive."""
    print('Testing transport loopback with BottomLoopbackLink...')
    stack = AutomaticStack(BottomLoopbackLink(),
                           make_stack(make_medium_stream(),
                                      logical_substack_factory()),
                           name='LoopbackBelow')
    print(stack)
    assert_loopback_below(stack, b'\0\0\0\0\1\2\3\4\0\0\0\0')
Пример #6
0
def test_loopback_coupler(logical_substack_factory):
    """Test for correct echo from send to receive."""
    print('Testing byte buffer loopback with PipelineBottomCoupler...')
    stack_one = make_stack(logical_substack=logical_substack_factory(),
                           name=' Transport')
    stack_two = AutomaticStack(
        make_stack(logical_substack=logical_substack_factory()),
        TopLoopbackLink())
    coupler = PipelineBottomCoupler(stack_one, stack_two)
    print(coupler)
    assert_loopback_below(coupler.pipeline_one, b'\1\2\3\4\0')
Пример #7
0
def test_minimal_loopback_coupler():
    """Test for correct echo from send to receive."""
    print('Testing byte buffer loopback with PipelineBottomCoupler...')
    stack_one = make_minimal()
    stack_two = AutomaticStack(make_minimal(), TopLoopbackLink())
    coupler = PipelineBottomCoupler(stack_one, stack_two)
    print(coupler)
    assert_loopback_below(coupler.pipeline_one, (1, 2, 3))
    assert_loopback_below(coupler.pipeline_one, {
        'hello': 'world',
        'foo': 'bar'
    })
    assert_loopback_below(coupler.pipeline_one, (0, 1, 2, True, None, (3, 4), {
        'foo': 'bar'
    }))
    assert_loopback_below(coupler.pipeline_one, 12345)
Пример #8
0
def main(transport_logical_preset, application_preset):
    """Run echo test."""
    connection = connect_serial_retry(baudrate=115200, timeout=0.05)
    if connection is None:
        logger.fatal('Failed to establish serial connection!')
        return

    protocol = AutomaticStack(
        make_preset_stack(transport_logical=transport_logical_preset,
                          application=application_preset), ReceiveLoggerLink())
    stack = ThreadedSerialAdapter(
        connection, make_threading_stack(protocol_stack=protocol))
    logger.info(stack)

    time.sleep(1.0)
    run_once(run_console, stack, send_data, application_preset)
    logger.info('Quitting!')
Пример #9
0
def test_minimal_loopback_coupler(logical_substack_factory):
    """Test for correct echo from send to receive."""
    print('Testing document loopback with PipelineBottomCoupler...')
    stack_one = make_stack(transport_stack=make_transport(
        logical_substack=logical_substack_factory()),
                           application_stack=make_minimal(),
                           name=' Protocol')
    stack_two = AutomaticStack(
        make_stack(transport_stack=make_transport(
            logical_substack=logical_substack_factory()),
                   application_stack=make_minimal()), TopLoopbackLink())
    coupler = PipelineBottomCoupler(stack_one, stack_two)
    print(coupler)
    assert_loopback_below(coupler.pipeline_one, (1, 2, 3))
    assert_loopback_below(coupler.pipeline_one, {
        'hello': 'world',
        'foo': 'bar'
    })
    assert_loopback_below(coupler.pipeline_one, (0, 1, 2, True, None, (3, 4), {
        'foo': 'bar'
    }))
    assert_loopback_below(coupler.pipeline_one, 12345)