From e5dd9a15cbfea4d64ce7940ebf32eb5195a25264 Mon Sep 17 00:00:00 2001 From: shrujan Date: Thu, 6 Nov 2025 17:06:08 +0000 Subject: [PATCH] Refactor test setup to use PathSubstitution for file paths in test_ros2_control_node_launch.py --- .../test/test_ros2_control_node_launch.py | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/controller_manager/test/test_ros2_control_node_launch.py b/controller_manager/test/test_ros2_control_node_launch.py index cba09d44ad..4e2b640f94 100644 --- a/controller_manager/test/test_ros2_control_node_launch.py +++ b/controller_manager/test/test_ros2_control_node_launch.py @@ -30,13 +30,13 @@ import pytest import unittest -import os +import launch_testing -from ament_index_python.packages import get_package_share_directory, get_package_prefix from launch import LaunchDescription from launch_testing.actions import ReadyToTest -import launch_testing.markers import launch_ros.actions +from launch.substitutions import PathSubstitution +from launch_ros.substitutions import FindPackageShare import rclpy from controller_manager.test_utils import ( @@ -50,8 +50,10 @@ @pytest.mark.launch_test def generate_test_description(): - robot_controllers = os.path.join( - get_package_prefix("controller_manager"), "test", "test_ros2_control_node.yaml" + robot_controllers = ( + PathSubstitution(FindPackageShare("controller_manager")) + / "test" + / "test_ros2_control_node.yaml" ) control_node = launch_ros.actions.Node( @@ -63,12 +65,13 @@ def generate_test_description(): ], output="both", ) - # Get URDF, without involving xacro - urdf = os.path.join( - get_package_share_directory("ros2_control_test_assets"), - "urdf", - "test_hardware_components.urdf", + + urdf = ( + PathSubstitution(FindPackageShare("ros2_control_test_assets")) + / "urdf" + / "test_hardware_components.urdf" ) + with open(urdf) as infp: robot_description_content = infp.read() robot_description = {"robot_description": robot_description_content}