Comments (7)
I think it is a good solution. I don't see problems with it.
from robot-testing-framework.
The only issue I foresee is that at the moment, in order to ensure that the library is available, you have to run something like:
find_package(RTF COMPONENTS YARP REQUIRED) # Checks if `RTF` is available, and if it was built with the `YARP` component.
If we want to keep using this, we need to do some sort of hack in RTFConfig.cmake. I think it is doable, but it will require some more effort, and I don't think it is worth.
The alternative is to do the opposite, i.e. something like:
find_package(RTF REQUIRED) # Checks if `RTF` is available
find_package(YARP COMPONENTS RTF REQUIRED) # Checks if `YARP` is available, and if it was built with the `RTF` component.
Does this look ok to you?
from robot-testing-framework.
The mentioned plugin is the hook that RTF uses to work with YARP. RTF is by itself middleware independent so you can use it with yarp, ros or whatever, as long as a plugin is provided for the specified middleware.
Right now this plugin is inside RTF repo (I don't remember where), and for this reason we cannot write tests inside yarp harness_xxx using RTF, because yarp will depend on RTF which, in turns, depends on yarp.
The idea is to move this plugin into YARP repo in order to fix this circular dependency issue.
About which test shall be in harness and which shall use RTF, I share my personal idea:
- harness: basic unit test that uses only modules inside yarp, regression tests, basic functionality like
- test of ports, carriers
- wrapper / client test
- RF module
- lib math test
- basically those tests are looking for bugs in the code and shall test small portion of code at a time, (remember that harness tests are always run after each push on robotology)
- RTF: more complex tests which falls into one or more of the following cases:
- a big number of modules needs to be run
- long execution time (this will slow down jenkins too much in continuous integration)
- uses the simulator
- non YARP modules are required to do the test
In my personal account I started a repo because I'm gonna write some tests for the clock and I need a lot of modules to be started (a clock producer, different consumers) and I want to test it also with ROS so I need RTF. I started there because, for the plugin reason, I could not start RTF tests in yarp.
When the plugin is succesfully integrated, I'll move the tests into yarp repo.
Hope it helps
from robot-testing-framework.
@valegagge has a Yarp middleware specific utility library within RTF. At my first check I do not see any problem with moving them to YARP.
@valegagge would you please confirm?
from robot-testing-framework.
@apaikan : yes!
from robot-testing-framework.
sorry guys, I'm a bit lost... 😳
what is the
yarp middleware plugin in RTF depends on yarp
I can't find a yarp plugin inside robotology\robot-testing\src\plugins
.
Do you mean robotology\robot-testing\src\middleware\yarp
?
Btw what is robotology\yarp-tests
@barbalberto ?
And what is rule to follow when you have to choose if a test has to be put in icub-tests, yarp-tests or harness_xxx?
Thank you!
from robot-testing-framework.
Fixed in robotology/yarp#1097 .
from robot-testing-framework.
Related Issues (20)
- Rename RTF HOT 14
- Handle RPATH HOT 1
- Broken documentation website HOT 2
- The doxygen documentation should be regenerated HOT 1
- Compilation fails when using TinyXML installed from vcpkg
- Permit to specify directory where to load plugins from without using LD_LIBRARY_PATH/PATH HOT 1
- Adding timeout parameter to testrunner HOT 1
- Doxygen generated documentation is outdated HOT 8
- How to manage the addition of [[noreturn]] in RTF_ASSERT HOT 3
- RTF_TEST_FAIL_IF macro logic is inverted HOT 8
- order and dependencies in TestSuit HOT 3
- Test that fails to load in a test suite do not count as failed tests HOT 3
- Add changelog for each release in `doc/release` HOT 1
- FixturePluginLoader test get stuck on Win32 if compiled in Debug HOT 2
- Support compiling as a shared library in Windows HOT 1
- Broken links in Readme HOT 4
- Provide a way to set an enviroment variable for just a test HOT 1
- Plugins do not work when -fvisibility=hidden is set HOT 2
- Improvements to the progress canvas in web-reporter HOT 1
- RTF should have a 1.5.0 release HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from robot-testing-framework.