Mike, <div>rosmake has a -t option which will test a package.  It is just calling make on all dependent packages then make test on the package(s) requested.  </div><div><br></div><div>In terms of the actual error, it's a compile error.  I would highly recommend that you not use trunk of anything that you are not involved in actively developing.  Compile errors are not uncommon on trunk and if you're not interested in tracking them down and providing patches/opening tickets a released version will be much better for you.  Something like <a href="https://code.ros.org/svn/ros-pkg/stacks/point_cloud_perception/tags/cturtle">https://code.ros.org/svn/ros-pkg/stacks/point_cloud_perception/tags/cturtle</a> would likely be better. </div>

<div><br></div><div>Tully<br><br><div class="gmail_quote">On Fri, Aug 13, 2010 at 2:36 PM, Michael Styer <span dir="ltr"><<a href="mailto:michael@styer.net">michael@styer.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Hello,<br>
<br>
I'm working on learning the unit testing procedure used in ROS. So, if I<br>
understand correctly, running the tests for a particular package<br>
(assuming it has tests) just means<br>
<br>
roscd <package_name><br>
make test<br>
<br>
First of all, is that the right way to do it? Or is there a rosmake<br>
invocation I should use?<br>
<br>
Then, that works in my installation for most packages, but for PCL I get<br>
a strange compilation error:<br>
<br>
[ 68%] Building CXX object test/CMakeFiles/test_io.dir/test_io.o<br>
/home/stm1pal/ros/stacks/point_cloud_perception/pcl/test/test_io.cpp:272: error: redefinition of ‘struct REGISTERED_POINT_TYPE_MUST_BE_PLAIN_OLD_DATA272’<br>
/home/stm1pal/ros/stacks/point_cloud_perception/pcl/include/pcl/point_types.h:270: error: previous definition of ‘struct REGISTERED_POINT_TYPE_MUST_BE_PLAIN_OLD_DATA272’<br>
/home/stm1pal/ros/stacks/point_cloud_perception/pcl/test/test_io.cpp:270: error: invalid type in declaration before ‘;’ token<br>
/home/stm1pal/ros/stacks/point_cloud_perception/pcl/test/test_io.cpp:270: error: conflicting declaration ‘typedef int mpl_assert_arg272’<br>
/home/stm1pal/ros/stacks/point_cloud_perception/pcl/include/pcl/point_types.h:272: error: ‘mpl_assert_arg272’ has a previous declaration as ‘typedef struct REGISTERED_POINT_TYPE_MUST_BE_PLAIN_OLD_DATA272 mpl_assert_arg272’<br>


/home/stm1pal/ros/stacks/point_cloud_perception/pcl/test/test_io.cpp:270: error: conflicting declaration ‘mpl_assertion_in_line_272’<br>
/home/stm1pal/ros/stacks/point_cloud_perception/pcl/include/pcl/point_types.h:270: error: ‘mpl_assertion_in_line_272’ has a previous declaration as ‘<anonymous enum> mpl_assertion_in_line_272’<br>
make[4]: *** [test/CMakeFiles/test_io.dir/test_io.o] Error 1<br>
make[4]: Target `test/CMakeFiles/test_io.dir/build' not remade because<br>
of errors.<br>
<br>
I'll keep looking into it, but does anyone know what might be causing<br>
that? For reference I'm pulling pcl from<br>
<br>
<a href="https://code.ros.org/svn/ros-pkg/stacks/point_cloud_perception/trunk/pcl" target="_blank">https://code.ros.org/svn/ros-pkg/stacks/point_cloud_perception/trunk/pcl</a><br>
<br>
I have the latest revision (31739). Also let me know if that's not the<br>
right repo.<br>
<br>
Thanks!<br>
<br>
Mike<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
ros-users mailing list<br>
<a href="mailto:ros-users@code.ros.org">ros-users@code.ros.org</a><br>
<a href="https://code.ros.org/mailman/listinfo/ros-users" target="_blank">https://code.ros.org/mailman/listinfo/ros-users</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Tully Foote<br>Systems Engineer<br>Willow Garage, Inc.<br><a href="mailto:tfoote@willowgarage.com">tfoote@willowgarage.com</a><br>(650) 475-2827<br>
</div>