GithubHelp home page GithubHelp logo

Write unit test using various types about ros2 HOT 7 CLOSED

ros2 avatar ros2 commented on June 3, 2024
Write unit test using various types

from ros2.

Comments (7)

dirk-thomas avatar dirk-thomas commented on June 3, 2024
  • Create binaries for:
    • publish / subscribe a message with no fields
    • publish / subscribe a message with fields for all primitive types
      • correct handling of default values should be tested in a lower-level unit test
    • request / reply a service with no fields
    • request / reply a service with fields for all primitive types (in both request and reply)
  • Create tests for:
    • publish / subscribe for each rmw implementation
    • publish / subscribe for between each combination of rmw implementations
    • request / reply for each rmw implementation
    • request / reply for between each combination of rmw implementations
      • across vendors is currently disabled since not supported yet

from ros2.

dirk-thomas avatar dirk-thomas commented on June 3, 2024

Request / reply tests currently blocked by ros2/rclcpp#29.

from ros2.

dirk-thomas avatar dirk-thomas commented on June 3, 2024

Currently the following tests pass:

  • publisher_subscriber_cpp__empty
    • rmw_connext_cpp__rmw_connext_dynamic_cpp
    • rmw_connext_cpp__rmw_opensplice_cpp
    • rmw_connext_cpp
    • rmw_connext_dynamic_cpp__rmw_connext_cpp
    • rmw_connext_dynamic_cpp__rmw_opensplice_cpp
    • rmw_connext_dynamic_cpp
    • rmw_opensplice_cpp__rmw_connext_cpp
    • rmw_opensplice_cpp__rmw_connext_dynamic_cpp
    • rmw_opensplice_cpp
  • publisher_subscriber_cpp__primitives
    • rmw_connext_cpp__rmw_connext_dynamic_cpp
    • rmw_connext_cpp__rmw_opensplice_cpp
    • rmw_connext_cpp
    • rmw_connext_dynamic_cpp__rmw_connext_cpp (ros2/rmw_connext#34)
    • rmw_connext_dynamic_cpp__rmw_opensplice_cpp
    • rmw_connext_dynamic_cpp
    • rmw_opensplice_cpp__rmw_connext_cpp
    • rmw_opensplice_cpp__rmw_connext_dynamic_cpp
    • rmw_opensplice_cpp
  • requester_replier_cpp__emptyservice
    • rmw_connext_cpp__rmw_connext_dynamic_cpp
    • rmw_connext_cpp
    • rmw_connext_dynamic_cpp__rmw_connext_cpp
    • rmw_connext_dynamic_cpp
    • rmw_opensplice_cpp
  • requester_replier_cpp__primitivesservice

Known limitations:

  • services don't work across vendors and are therefore not in the above list

from ros2.

dirk-thomas avatar dirk-thomas commented on June 3, 2024

Since now all tests pass for empty / all primitives messages / services I will continue adding more types.

  • publish / subscribe a message with fields for static arrays of all primitive types
  • publish / subscribe a message with fields for dynamic arrays of all primitive types
    • correct handling of boundariesshould be tested in a lower-level unit test
  • publish / subscribe a message with nested types
  • publish / subscribe a message with fields for all builtin types

from ros2.

dirk-thomas avatar dirk-thomas commented on June 3, 2024

Currently the following tests pass:

  • publisher_subscriber_cpp__staticarrayprimitives
    • rmw_connext_cpp__rmw_connext_dynamic_cpp
    • rmw_connext_cpp__rmw_opensplice_cpp
    • rmw_connext_cpp
    • rmw_connext_dynamic_cpp__rmw_connext_cpp
    • rmw_connext_dynamic_cpp__rmw_opensplice_cpp
    • rmw_connext_dynamic_cpp
    • rmw_opensplice_cpp__rmw_connext_cpp
    • rmw_opensplice_cpp__rmw_connext_dynamic_cpp
    • rmw_opensplice_cpp
  • publisher_subscriber_cpp__dynamicarrayprimitives
    • rmw_connext_cpp__rmw_connext_dynamic_cpp
    • rmw_connext_cpp__rmw_opensplice_cpp
    • rmw_connext_cpp
    • rmw_connext_dynamic_cpp__rmw_connext_cpp
    • rmw_connext_dynamic_cpp__rmw_opensplice_cpp
    • rmw_connext_dynamic_cpp
    • rmw_opensplice_cpp__rmw_connext_cpp
    • rmw_opensplice_cpp__rmw_connext_dynamic_cpp
    • rmw_opensplice_cpp
  • publisher_subscriber_cpp__nested
    • rmw_connext_cpp__rmw_connext_dynamic_cpp
    • rmw_connext_cpp__rmw_opensplice_cpp
    • rmw_connext_cpp
    • rmw_connext_dynamic_cpp__rmw_connext_cpp
    • rmw_connext_dynamic_cpp__rmw_opensplice_cpp
    • rmw_connext_dynamic_cpp
    • rmw_opensplice_cpp__rmw_connext_cpp
    • rmw_opensplice_cpp__rmw_connext_dynamic_cpp
    • rmw_opensplice_cpp
  • publisher_subscriber_cpp__builtins
    • rmw_connext_cpp__rmw_connext_dynamic_cpp
    • rmw_connext_cpp__rmw_opensplice_cpp
    • rmw_connext_cpp
    • rmw_connext_dynamic_cpp__rmw_connext_cpp
    • rmw_connext_dynamic_cpp__rmw_opensplice_cpp
    • rmw_connext_dynamic_cpp
    • rmw_opensplice_cpp__rmw_connext_cpp
    • rmw_opensplice_cpp__rmw_connext_dynamic_cpp
    • rmw_opensplice_cpp

from ros2.

dirk-thomas avatar dirk-thomas commented on June 3, 2024

This should finally cover all the above tests. If nobody has suggestions for further communication tests I would propose to close this.

from ros2.

tfoote avatar tfoote commented on June 3, 2024

looks complete

from ros2.

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.