Drake: Python-based Unit Tests Continue to Run Despite C++ Build Error

Created on 6 Dec 2016  路  10Comments  路  Source: RobotLocomotion/drake

When a C++ build fails, the Python-based unit tests are still being run. This results in the confusing GUI shown below.

screen shot 2016-12-06 at 6 49 02 am

When we click on a unit test, we see:

ImportError: No module named pydrake

To get the actual error, we need to check the full console log, which in this case is:

00:11:50 /home/ubuntu/workspace/linux-clang-continuous-debug/drake/examples/schunk_wsg/schunk_wsg_simulation.cc:73:45: error: no member named 'kContinuousSampling' in namespace 'drake::systems'
00:11:50     this->DeclareAbstractInputPort(systems::kContinuousSampling);
00:11:50                                    ~~~~~~~~~^

Ideally, to prevent confusion, the python-based unit tests should not run when the C++ build process fails.

high kitware feature request

Most helpful comment

So... it turns out a bug managed to sneak into CMake master that broke launchers with the make generator. This caused ctest/cdash to be unable to recognize errors when building C++ sources. This affected the bleeding-edge CMake we were using on the CI machines (the bug is not present in any released version). It's been fixed now and the AMI's updated.

All 10 comments

@liangfok could you provide a link to the instance in your screenshot?

I agree this is annoying, but I don't have a sense of how hard it would be to resolve. Could some Kitware folks weigh in?

...why doesn't the build error show up as an error?

agreed. the non-reporting of the build errors are the bigger problem. i'm going to bump the priority.

Wait, so Drake build errors don't show up in CDash at all anymore? I agree with priority: high in that case!

That would be horrible... but it seems only a few builds are affected. I can't reproduce so far, and we've obviously had failing builds recently... for example, linux-gcc-ninja-continuous-release/1053 seems to have the exact same error, and was built at almost the same time and probably the same SHA, but it caught the error as expected...

Yeah, the problem appears to be transient, though I'm noticing it happen more frequently recently. I'll update this issue as I encounter it.

Please note also if you see it happening on builds that are not linux+make+clang+debug...

This is really screwy; make clearly failed, but somehow the failure disappeared between when make bailed out of a few levels of build tree and the ctest_build(...) that invoked make in the first place.

So... it turns out a bug managed to sneak into CMake master that broke launchers with the make generator. This caused ctest/cdash to be unable to recognize errors when building C++ sources. This affected the bleeding-edge CMake we were using on the CI machines (the bug is not present in any released version). It's been fixed now and the AMI's updated.

Was this page helpful?
0 / 5 - 0 ratings