Git Product home page Git Product logo

Comments (7)

lornat75 avatar lornat75 commented on July 16, 2024 1

I think it is a good solution. I don't see problems with it.

from robot-testing-framework.

drdanz avatar drdanz commented on July 16, 2024 1

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.

barbalberto avatar barbalberto commented on July 16, 2024 1

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.

apaikan avatar apaikan commented on July 16, 2024

@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.

valegagge avatar valegagge commented on July 16, 2024

@apaikan : yes!

from robot-testing-framework.

randaz81 avatar randaz81 commented on July 16, 2024

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.

traversaro avatar traversaro commented on July 16, 2024

Fixed in robotology/yarp#1097 .

from robot-testing-framework.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.