[ros-users] using ROS_BUILD_TEST_LABEL with Hudson?

Jack O'Quin jack.oquin at gmail.com
Mon Dec 6 17:38:01 UTC 2010


On Mon, Dec 6, 2010 at 10:55 AM, Brian Gerkey <gerkey at willowgarage.com> wrote:
> On Mon, Dec 6, 2010 at 8:46 AM, Jack O'Quin <jack.oquin at gmail.com> wrote:
>> As a follow-up, I'd also like to build some integration tests that
>> demonstrate the camera working with various image pipeline features,
>> such as rectification and Bayer decoding. But, camera1394 does not
>> (and should not) have a build dependency on image_pipeline.
>>
>> The obvious solution is a separate camera integration test stack.
>>
>> Does one already exist?
>>
>>  If so, is it OK to add some camera1394 tests to it?
>>
>>  If not, is it OK to create one? Where in SVN should that go?
>
> hi Jack,
>
> To address the problem of unwanted dependencies from testing, we've
> taken to creating separate test packages (e.g., `test_rospack` has the
> tests for `rospack`).  That solves things at a package level [*].  But
> you still need somewhere to put, e.g., the `test_camera1394` package.
> If it goes in the `camera_drivers` stack, then the stack still has the
> test-induced dependencies.  This may or may not be acceptable.  If
> it's not, you could create a separate stack to contain the tests; I
> don't believe that we've done that yet.

I would not want it in the camera_drivers stack for the same reason it
should not go in the camera1394 package.

> [*] There's been some debate as to whether creating `test_foo` for
> each package `foo` is a reasonable way of doing things.  The argument
> has been made that, instead of potentially doubling the number of
> packages, we should provide better mechanisms for allowing tests to
> live in the package being tested without exposing unwanted
> dependencies.

FWIW, my feeling is that most packages just need a unit test, which
likely shares the same dependencies (plus gtest, etc.) and can be
built with that component.

The other kind of test I have in mind is more of a subsystem
integration test, exercising several packages or stacks together.
Those test packages are far fewer than one per feature package. It
would actually help to use the normal rosmake dependency mechanism for
integration test stacks.

I don't see anything in ros-pkg/stacks that looks like a collection of
tests. I am reluctant to add a test_camera stack at that level, but
don't have a better idea, so suggestions are welcome. Would a
ros-pkg/stacks/tests subdirectory be awkward?
-- 
 joq



More information about the ros-users mailing list