Skip to content

Commit

Permalink
add support multiple parameter files
Browse files Browse the repository at this point in the history
Signed-off-by: Keisuke Shima <19993104+KeisukeShima@users.noreply.github.com>
  • Loading branch information
KeisukeShima committed Apr 1, 2022
1 parent 5764962 commit ae9ce31
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 18 deletions.
21 changes: 11 additions & 10 deletions common/autoware_testing/autoware_testing/smoke_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,19 @@


def resolve_node(context, *args, **kwargs):
parameters = [
os.path.join(
get_package_share_directory(LaunchConfiguration('arg_package').perform(context)),
"param",
file_name
) for file_name in shlex.split(LaunchConfiguration('arg_param_filenames').perform(context))
]

smoke_test_node = Node(
package=LaunchConfiguration('arg_package'),
executable=LaunchConfiguration('arg_package_exe'),
namespace='test',
parameters=[
os.path.join(
get_package_share_directory(LaunchConfiguration('arg_package').perform(context)),
"param",
LaunchConfiguration('arg_param_filename').perform(context)
)
],
parameters=parameters,
arguments=shlex.split(LaunchConfiguration('arg_executable_arguments').perform(context))
)
return [smoke_test_node]
Expand All @@ -62,8 +63,8 @@ def generate_test_description():
default_value=['default'],
description='Tested executable'
)
arg_param_filename = DeclareLaunchArgument(
'arg_param_filename',
arg_param_filenames = DeclareLaunchArgument(
'arg_param_filenames',
default_value=['test.param.yaml'],
description='Test param file'
)
Expand All @@ -76,7 +77,7 @@ def generate_test_description():
return LaunchDescription([
arg_package,
arg_package_exe,
arg_param_filename,
arg_param_filenames,
arg_executable_arguments,
OpaqueFunction(function=resolve_node),
launch_testing.actions.ReadyToTest()]
Expand Down
10 changes: 5 additions & 5 deletions common/autoware_testing/cmake/add_smoke_test.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,18 @@
# :type package_name: string
# :param package_exec: package executable to run during smoke test
# :type executable_name: string
# :param PARAM_FILENAME: yaml filename containing test parameters
# :type PARAM_FILENAME: string
# :param PARAM_FILENAMES: yaml filenames containing test parameters
# :type PARAM_FILENAMES: string
# :param EXECUTABLE_ARGUMENTS: arguments passed to tested executable
# :type EXECUTABLE_ARGUMENTS: string

function(add_smoke_test package_name executable_name)
cmake_parse_arguments(PARSE_ARGV 2 smoke_test "" "PARAM_FILENAME;EXECUTABLE_ARGUMENTS" "")
cmake_parse_arguments(PARSE_ARGV 2 smoke_test "" "PARAM_FILENAMES;EXECUTABLE_ARGUMENTS" "")

set(ARGUMENTS "arg_package:=${package_name}" "arg_package_exe:=${executable_name}")

if(smoke_test_PARAM_FILENAME)
list(APPEND ARGUMENTS "arg_param_filename:=${smoke_test_PARAM_FILENAME}")
if(smoke_test_PARAM_FILENAMES)
list(APPEND ARGUMENTS "arg_param_filenames:=${smoke_test_PARAM_FILENAMES}")
endif()

if(smoke_test_EXECUTABLE_ARGUMENTS)
Expand Down
12 changes: 9 additions & 3 deletions control/trajectory_follower_nodes/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,15 @@ if(BUILD_TESTING)
target_link_libraries(${TRAJECTORY_FOLLOWER_NODES_TEST} ${LATLON_MUXER_NODE} ${LATERAL_CONTROLLER_NODE} ${LONGITUDINAL_CONTROLLER_NODE})

find_package(autoware_testing REQUIRED)
add_smoke_test(${PROJECT_NAME} ${LATLON_MUXER_NODE}_exe PARAM_FILENAME latlon_muxer_defaults.yaml)
add_smoke_test(${PROJECT_NAME} ${LATERAL_CONTROLLER_NODE}_exe PARAM_FILENAME lateral_controller_defaults.yaml)
add_smoke_test(${PROJECT_NAME} ${LONGITUDINAL_CONTROLLER_NODE}_exe PARAM_FILENAME longitudinal_controller_defaults.yaml)
add_smoke_test(${PROJECT_NAME} ${LATLON_MUXER_NODE}_exe
PARAM_FILENAMES "latlon_muxer_defaults.yaml"
)
add_smoke_test(${PROJECT_NAME} ${LATERAL_CONTROLLER_NODE}_exe
PARAM_FILENAMES "lateral_controller_defaults.yaml test_vehicle_info.yaml"
)
add_smoke_test(${PROJECT_NAME} ${LONGITUDINAL_CONTROLLER_NODE}_exe
PARAM_FILENAMES "longitudinal_controller_defaults.yaml test_vehicle_info.yaml"
)
endif()

ament_auto_package(
Expand Down

0 comments on commit ae9ce31

Please sign in to comment.