Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite how test nodes are exported #30

Open
trainman419 opened this issue Jul 31, 2014 · 1 comment
Open

Rewrite how test nodes are exported #30

trainman419 opened this issue Jul 31, 2014 · 1 comment

Comments

@trainman419
Copy link
Contributor

Given the sum total of issues #16, #24, #27 and #28, it sounds like the way testing nodes are exported to downstream packages needs to change.

  • Installing anything that is linked against gtest and meant to be used with user-compiled code is a bade idea and likely won't work, because gtest fails when different parts of it are compiled with different flags (ie the node, built on a build farm, and the user's code, built locally).
  • Users need to have a way to test their plugins. This was previously provided by the diagnostic_analyzer/analyzer_loader node. See diagnostic_analysis analyzer_loader is not installed #24
  • Users need to be able to run self tests from within their rostests. This was provided by the self_test/selftest_rostest node. See self_test executables are not installed in hydro #16

The best proposed solution I've heard (thanks @wjwwood ! ) is to install the sources for the analyzer_loader and selftest_rostest, and provide an explicit set of cmake macros which will compile and run them as needed. Once that's written, the docs will need to be updated; at least http://wiki.ros.org/self_test , http://wiki.ros.org/diagnostics/Tutorials/Creating%20a%20Diagnostic%20Analyzer and http://wiki.ros.org/diagnostic_aggregator

I've exhausted my budget of employer-funded time to work on this for the next few months. If someone needs this fixed urgently, they'll have to provide a pull request.

@trainman419
Copy link
Contributor Author

It may also be possible to rewrite the analyzer_loader and rostest_selftest such that the top-level executable is a python script using nosetests or something similar to export test results, which then calls an internal C++ node (no gtest), to do the actual testing.

Since selftest_rostest is only calling services and parsing the results, it may be possible to completely rewrite it in python without changing the user-facing API.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant