6 from launch 
import LaunchDescription
 
    7 from launch.actions 
import DeclareLaunchArgument, ExecuteProcess, TimerAction
 
    8 from launch.substitutions 
import LaunchConfiguration, PathJoinSubstitution
 
    9 from launch_ros.actions 
import Node
 
   11 sys.path.append(os.path.dirname(__file__))
 
   12 from hybrid_planning_common 
import (
 
   13     generate_common_hybrid_launch_description,
 
   14     get_robot_description,
 
   15     get_robot_description_semantic,
 
   28         "moveit_hybrid_planning", 
"config/common_hybrid_planning_params.yaml" 
   31     hybrid_planning_gtest = Node(
 
   32         executable=PathJoinSubstitution(
 
   33             [LaunchConfiguration(
"test_binary_dir"), 
"test_basic_integration"]
 
   37             robot_description_semantic,
 
   38             common_hybrid_planning_param,
 
   43     return LaunchDescription(
 
   45             DeclareLaunchArgument(
 
   46                 name=
"test_binary_dir",
 
   47                 description=
"Binary directory of package " 
   48                 "containing test executables",
 
   50             TimerAction(period=2.0, actions=[hybrid_planning_gtest]),
 
   51             launch_testing.actions.ReadyToTest(),
 
   55         "hybrid_planning_gtest": hybrid_planning_gtest,
 
   62         self.proc_info.assertWaitForShutdown(hybrid_planning_gtest, timeout=4000.0)
 
   65 @launch_testing.post_shutdown_test() 
   69         launch_testing.asserts.assertExitCodes(proc_info, process=hybrid_planning_gtest)
 
def test_gtest_pass(self, proc_info, hybrid_planning_gtest)
 
def test_gtest_run_complete(self, hybrid_planning_gtest)
 
def load_yaml(package_name, file_path)
 
def get_robot_description_semantic()
 
def generate_common_hybrid_launch_description()
 
def get_robot_description()
 
def generate_test_description()