Comments (2)
What kind of tests should we start with?
Are there any particular category of tests we could start with my mimicking/porting what exists for rclcpp or rclpy?
from ros2_rust.
I think that adding unit tests for context
, as well as the node Publisher
and Subscriber
should probably be a priority. I'd put context
at the top of the list, though - both because it is the lynchpin that the rest of the library builds off of (from what I'm able to see), and that it's what deals most directly with FFI with rcl
.
Additionally, any function that has unsafe
should have at least one unit test. Ideally, if we can get away with it, I'd put more in there, just so we can make sure that we know that it fails in a way we expect.
A quick look for unsafe in functions turns up the following (though I may have missed a few):
rclrs/src/context.rs
-ContextHandle.drop()
rclrs/src/context.rs
-Context.init()
rclrs/src/context.rs
-Context.ok()
rclrs/src/context.rs
-Context.default()
rclrs/src/lib.rs
-spin()
rclrs/src/lib.rs
-spin_once()
rclrs/src/node/mod.rs
-NodeHandle.drop()
rclrs/src/node/mod.rs
-Node.new_with_namespace()
rclrs/src/node/publisher.rs
-PublisherHandle.drop()
rclrs/src/node/publisher.rs
-Publisher.new()
rclrs/src/node/publisher.rs
-Publisher.publish()
rclrs/src/node/subscription.rs
-SubscriptionHandle.drop()
rclrs/src/node/subscription.rs
-SubscriptionBase.take()
rclrs/src/node/subscription.rs
-Subscription.new()
rclrs/src/node/subscription.rs
-Subscription.take()
from ros2_rust.
Related Issues (20)
- How to add geometry_msgs and other message types ? HOT 10
- Create github pages with rustdoc documentation HOT 5
- Make wait set growable
- Flexible callbacks for clients and services HOT 1
- Make take_boxed() create messages directly on the heap HOT 3
- Matrix Chat HOT 2
- Colcon build fails with error: "failed to load source for dependency `action_msgs`" HOT 7
- Implement lifecycle nodes
- Building rclrs nodes causes python nodes to break HOT 1
- Example of package with `srv` definitions HOT 5
- Is this project abandoned? HOT 5
- rosidl_runtime_rs differences between main and crate breaks colcon build HOT 3
- Does ROS2_Rust support .srv code generation? HOT 3
- Support for building Debian packages HOT 1
- Getting an Result::unwrap() Error when launching a launch file. HOT 2
- Remove Support for Foxy HOT 1
- Add support for Iron Irwini
- Zero copy publisher example fails HOT 1
- `extern` block uses type `u128`, which is not FFI-safe HOT 4
- support `rclrs::SerializedMessage`
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 ros2_rust.