Beispiel #1
0
def test_push_ros_namespace(config):
    lc = LaunchContext()
    if config.push_ns is not None:
        pns1 = PushRosNamespace(config.push_ns)
        pns1.execute(lc)
    if config.second_push_ns is not None:
        pns2 = PushRosNamespace(config.second_push_ns)
        pns2.execute(lc)
    node = Node(
        package='dont_care',
        executable='whatever',
        node_namespace=config.node_ns,
    )
    node._perform_substitutions(lc)
    expected_ns = config.expected_ns if config.expected_ns is not None else ''
    assert expected_ns == node.expanded_node_namespace
def test_push_ros_namespace_with_composable_node(config):
    lc = MockContext()
    if config.push_ns is not None:
        pns1 = PushRosNamespace(config.push_ns)
        pns1.execute(lc)
    if config.second_push_ns is not None:
        pns2 = PushRosNamespace(config.second_push_ns)
        pns2.execute(lc)
    node_description = ComposableNode(
        package='asd',
        plugin='my_plugin',
        namespace=config.node_ns,
        name=config.node_name,
    )
    request = get_composable_node_load_request(node_description, lc)
    expected_ns = config.expected_ns if config.expected_ns is not None else ''
    assert expected_ns == request.node_namespace
def test_push_ros_namespace(config):
    lc = LaunchContext()
    if config.push_ns is not None:
        pns1 = PushRosNamespace(config.push_ns)
        pns1.execute(lc)
    if config.second_push_ns is not None:
        pns2 = PushRosNamespace(config.second_push_ns)
        pns2.execute(lc)
    node = Node(package='dont_care',
                executable='whatever',
                namespace=config.node_ns,
                name=config.node_name)
    node._perform_substitutions(lc)
    expected_ns = (config.expected_ns if config.expected_ns is not None else
                   Node.UNSPECIFIED_NODE_NAMESPACE)
    expected_name = (config.node_name if config.node_name is not None else
                     Node.UNSPECIFIED_NODE_NAME)
    expected_fqn = expected_ns.rstrip('/') + '/' + expected_name
    assert expected_ns == node.expanded_node_namespace
    assert expected_fqn == node.node_name