<launch>
  <node name="n1" pkg="package" type="test_base" />
  
  <node name="n2" pkg="package" type="test_args" args="args test" />
  <node name="n3" pkg="package" type="test_args_empty" args="" />
  <!-- TODO: more substitution args? -->

  <node name="n4" pkg="package" type="test_output_screen" output="screen" />
  <node name="n5" pkg="package" type="test_output_log" output="log" />
  
  <node name="n6" pkg="package" type="test_machine" machine="machine_test" />
  
  <node name="n7" pkg="package" type="test_ns1" ns="ns_test1" />
  <node name="n8" pkg="package" type="test_ns2" ns="ns_test2/child2" />
  <node name="n9" pkg="package" type="test_ns3" ns="ns_test3/child3/" />
  
  <node name="n10" pkg="package" type="test_respawn_true" respawn="true" />
  <node name="n11" pkg="package" type="test_respawn_TRUE" respawn="TRUE" />
  <node name="n12" pkg="package" type="test_respawn_false" respawn="false" />
  <node name="n13" pkg="package" type="test_respawn_FALSE" respawn="FALSE" />
  <node name="n14" pkg="package" type="test_respawn_none" />          

  <node name="n15" pkg="package" type="test_env">
    <env name="env1" value="env1 value1" />
    <env name="env2" value="env2 value2" />
  </node>

  <node name="n16" pkg="package" type="test_fake">
    <!-- unrecognized tags are ok, but will print warnings to screen -->
    <fake name="env2" value="env2 value2" />
  </node>
  
  <node name="n17" pkg="package" type="test_env_empty">
    <env name="env1" value="" />
  </node>

  <!-- base test of private parameter -->
  <node name="test_private_param1" pkg="package" type="test_param">
    <param name="foo1" value="bar1" />
  </node>

  <!-- test ns attribute -->
  <node name="test_private_param2" ns="ns_test" pkg="package" type="test_param">
    <param name="foo2" value="bar2" />
  </node>

  <!-- test with noop tilde syntax -->
  <node name="test_private_param3" pkg="package" type="test_param">
    <param name="~foo3" value="bar3" />
  </node>

  <node name="n21" pkg="package" type="test_cwd_2" cwd="node" />
  <node name="n22" pkg="package" type="test_cwd_3" cwd="ROS_HOME" />
  <node name="n23" pkg="package" type="test_cwd_3" cwd="ros_home" />    
      

  <node pkg="package" type="test_node_rosparam_load" name="rosparam_load">
    <rosparam file="$(find roslaunch)/test/params.yaml" command="load" />
  </node>
  <node pkg="package" type="test_node_rosparam_dump" name="rosparam_dump">
    <rosparam file="dump.yaml" command="dump" />
  </node>
  <node pkg="package" type="test_node_rosparam_load_ns" name="load_ns">
    <rosparam ns="subns" file="$(find roslaunch)/test/params.yaml" command="load" />
  </node>
  <node pkg="package" type="test_node_rosparam_multi" name="rosparam_multi">
    <rosparam file="$(find roslaunch)/test/params.yaml" command="load" />
    <rosparam file="mdump.yaml" command="dump" />
    <rosparam ns="msubns" file="$(find roslaunch)/test/params.yaml" command="load" />
  </node>
  
  <node name="n26" pkg="package" type="test_required_true_1" required="true" />
  <node name="n27" pkg="package" type="test_required_true_2" required="True" />
  <node name="n28" pkg="package" type="test_required_false_1" required="false" />
  <node name="n29" pkg="package" type="test_required_false_2" required="FALSE" />

  <!-- TODO remap args test -->

  <node name="n30" pkg="package" type="test_launch_prefix" launch-prefix="xterm -e gdb --args" />
  
</launch>

