Commit graph

483 commits

Author SHA1 Message Date
Tully Foote
d273703e09 removing all references to default time sources
switching time_source to clock, and removing clock pointer from internal time_point and duration storage.
2017-11-16 17:28:00 -08:00
Ethan Gao
2079097227 optimize to avoid potential issue from uninitialized scalar variable (#183)
Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>
2017-11-16 12:41:33 -08:00
jwang11
ddc172a7e6 expand rcl_node_is_valid with allocator to standarize the node check … (#173)
* expand rcl_node_is_valid with allocator to standarize the node check across RCL

Current RCL use very different way for node check in different components. Actually,
node.c already provide a standard way - rcl_node_is_valid. However, it just use
internal allocator, but some context has external allocator. The commit expand
rcl_node_is_valid with one more parameter for allocator. It can be used in all cases.

Signed-off-by: jwang <jing.j.wang@intel.com>

* Add allocator check in rcl_node_is_valid

* Separate argument checks from the concept of what makes a node invalid

* clarify allocator only used for error messages; default if NULL

* shorten parameter description
2017-11-15 18:42:07 -08:00
dhood
0ff5b98c3e
Remove error message when client take returns false (#182)
* Remove error msg from valid case

* Document RCL_RET_{CLIENT/SERVICE}_TAKE_FAILED
2017-11-15 12:10:09 -08:00
Tully Foote
40d899adfd clean up includes
include what you use and style fixups.
2017-11-15 11:32:14 -08:00
Tully Foote
091d58858a create a macro RCL_CHECK_ALLOCATOR to check the required methods are set on the allocator
Move to using RCUTILS macros under the hood.

Use new macro for instances of allocator check
2017-11-15 11:32:14 -08:00
Dirk Thomas
9aec08caba
Merge pull request #181 from ros2/ament_cmake_pytest
use ament_cmake_pytest instead of ament_cmake_nose
2017-11-13 17:35:11 -08:00
Dirk Thomas
d025db0fce use ament_cmake_pytest instead of ament_cmake_nose 2017-11-13 13:01:25 -08:00
Dirk Thomas
ebf6ea1a83
Merge pull request #177 from ros2/find_gtest_once
only find GTest once
2017-11-09 16:24:31 -08:00
Dirk Thomas
f1256645fb only find GTest once 2017-11-09 16:20:07 -08:00
Chris Lalancette
9f2010d6f3
rcutils_join_path now returns a char *. (#174)
So we no longer have to cast away the const when freeing the
memory.

Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
2017-11-09 09:01:59 -05:00
William Woodall
ffcfc34890
re-reduce scope of temp variable (#175)
follow up to #172
2017-11-08 08:16:42 -08:00
Ethan Gao
f7d7df6d69 Out-of-scope memory use and memory leak issue (#172)
* * out-of-scope memory use and memory leak issue

temp going out of scope leaks the storage it points to
resource leak from local_namespace_

Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>

* exclude the memory free when the namespace given is null

Signed-off-by: Ethan Gao <ethan.gao@linux.intel.com>
2017-11-06 13:33:07 -08:00
Hunter Allen
2558923315 Implementing rcl_*_is_valid tests. (#166)
* started implementing the publisher test

* Working on tests for services

* Add basic subscription test

* Add check for nullptr as service impl.

* Add client test

* Undid accidental removal of null topic test

* Made subscription test consistent with the others

* Addressed comments from @mikaelarguedas, as well as made things more uniform.

* Replace EXPECT_EQ(-, false) with EXPECT_FALSE(-) (and analogous), as well as fixed typo in comment.

* Added check for init's return value.

* Added RCL_PUBLIC to export dll targets.

* nit: homogenize docs
2017-10-26 18:56:20 -05:00
dhood
38d3725262 Add test for 0ns wait on triggered guard condition (#169) 2017-10-18 14:48:32 -07:00
Dirk Thomas
c6fe84ea54 Merge pull request #168 from ros2/remove_indent_off
remove obsolete INDENT-OFF usage
2017-09-29 14:24:18 -07:00
Dirk Thomas
29a01c3beb Merge pull request #167 from ros2/uncrustify_master
update style to match latest uncrustify
2017-09-29 11:12:38 -07:00
Dirk Thomas
54ed582ebe remove obsolete INDENT-OFF usage 2017-09-29 10:33:13 -07:00
Dirk Thomas
72bcb6b5b6 update style to match latest uncrustify 2017-09-28 15:27:22 -07:00
Dirk Thomas
ef94e9f277 0.0.3 2017-09-13 15:07:07 -07:00
Mikael Arguedas
1fa4acac8c Timer tests (#163)
* dont return timeout errcode if we didnt hit user specified timeout

* update axisting test accordingly

* add timer test

* Revert "dont return timeout errcode if we didnt hit user specified timeout"

This reverts commit f44a93b8528e87ce46594af0d1184c116ade0cb4.

* alternative fix to not return timeout when timer is ready

this also fixes a bug where the wait would always return when all the
timers were canceled

fixes rclcpp#319

* fixups

* more tests

* another one just for fun

* remove new tests

* clearer variable name

* update comment
2017-09-08 10:22:14 -07:00
Mikael Arguedas
cd8cff0024 remove todo that doesnt seem necessary anymore (#161) 2017-08-29 22:58:21 -07:00
Mikael Arguedas
173f1da229 add issue template 2017-08-14 18:04:24 -07:00
Dirk Thomas
ef61baa903 Merge pull request #159 from ros2/issue155
reset expected error msg to avoid warning
2017-08-11 15:14:20 -07:00
Dirk Thomas
ad044b509a reset expected error msg to avoid warning 2017-08-11 15:06:19 -07:00
Chris Lalancette
c1232a7288 Fix memory problems in rcl. (#158)
* Fix memory problems in rcl.

There are actually two problems here.  In one of the problems,
we were sometimes taking an rcl_guard_condition that we did *not*
allocate, and trying to deallocate it.  This was leading to
double frees.

The second problem was forgetting to call guard_condition_fini
during node_fini.

Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>

* Drop duplicated check for overwriting previous error.

As pointed out by Dirk in review, the RCL_SET_ERROR_MSG
macro (through the rcutils_set_error_state() function)
already checks to see if a message is being dropped and
warns about it.  Thus, we don't need to do it ourselves.

Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
2017-08-10 15:11:16 -07:00
Mikael Arguedas
cdedde8c91 Merge pull request #157 from ros2/rcl_use_rcutils
Rcl use rcutils
2017-08-10 12:12:11 -07:00
Mikael Arguedas
abf331e81f use snprintf from rcutils 2017-08-10 12:08:44 -07:00
Mikael Arguedas
835a90761c use macros 2017-08-10 12:08:18 -07:00
Karsten Knese
3cff9020d1 replace rcl_lifecycle_ret_t with lifecycle_msgs__TRANSITION__CALLBACK* (#153) 2017-08-02 14:05:03 -07:00
Karsten Knese
5cdef527de remove fprintf, use logging macros (#152)
* remove fprintf, use logging macros

* consistent includes
2017-07-27 07:55:26 -07:00
Mikael Arguedas
2d961fb501 Use _WIN32 everywhere (#151) 2017-07-24 14:49:26 -07:00
Hunter Allen
af03d0c44d Implement is valid methods (#103)
* Implemented service is valid check.

* Added an is-valid check for publishers.

* Changed the checks to the single call to

* Added subscription is_valid function, and replaced individual checks with a call to the function in the subscription code.

* Added documentation for is_valid functions.

* Moved the options pointer check into the is_valid function.

* Implemented client checks.
2017-07-18 13:12:06 -07:00
Dirk Thomas
a57f66b54c 0.0.2 2017-06-30 15:11:46 -07:00
Mikael Arguedas
39ddf00378 slightly less confusing error msg (#149) 2017-06-30 14:34:16 -07:00
Dirk Thomas
7eecba9d7d Merge pull request #148 from ros2/check_node_validity
ensure node is valid before using it
2017-06-27 12:04:38 -07:00
William Woodall
9d37b9de72 update docs (#147) 2017-06-27 12:02:49 -07:00
Dirk Thomas
ee140b1bf0 ensure node is valid before using it 2017-06-27 11:25:24 -07:00
William Woodall
6c5f98ed4c Refactor get topic names and types (#144)
* cleanup

* refactor for no_demangle and service n&t

* fixup convenience function

* add missing null check
2017-06-16 18:02:06 -07:00
Karsten Knese
c37bfec072 use rcl_allocator for rcl_lifecycle & namespaced topics (#142)
* use rcl_allocator for rcl_lifecycle

* correct return value interpretation

* fix unsigned comparison

* use namespace for lifecycle in-built topics

* linters
2017-06-16 14:44:06 -07:00
Esteve Fernandez
0f2519944a Explicitly set C11 and C++14 via the CMake variables (#141)
* Explicitly set C99 and C++14 via the CMake variables

* Enable passing CMAKE_C_STANDARD and CMAKE_CXX_STANDARD externally

* Use add_compile_options

* Be more specific about the compiler, independent from the OS

* Check compiler, not OS. Use add_compile_options instead of CMAKE_C_FLAGS and CMAKE_CXX_FLAGS

* add_compile_options() takes a list, not a string

* switch to c11 because of redefinition warnings

avoid typedef redifinition warning on macos

remove todo, compiler come from redefinition of typedef
2017-06-16 13:23:59 -07:00
Mikael Arguedas
21fff528e1 add support for DDS Security (#125)
* add functions to find certificates in filesystem

* only pass the security root path to the rmw

* remove unused code

* fix memory leak

* style

* memory leak round 2

* temporary ifdef for file permission flags

* _S_IREAD works only for file not directories

* use c_utililties functions

* add todo to use c_utility/concat rather that snprintf

* remove now unnecessary stat include

* use backslash separator for path on windows

* duh

* update c_utilities imports and functions signatures

* use c_utilities to concatenate paths

* print debug msg to stdout

* suppress warning, put sros env var as static at the beginnign of the file

* pass local namespace

* more c_utilities renaming

* comment out debug prints for now

* add env vars for security strategy and enforce them

* use rmw_node_security_options structure

* line length

* remove unused conditional

* rename environment variable

* style

* use defines for env var names and use rcutils_stringify on it

* remove unnecessary assignment

* consistent define naming for environment variables names

* stringify SECURITY_ROOST_DIRECTORY
2017-06-14 19:50:07 -07:00
Karsten Knese
553920ff9e string array takes allocator (#143) 2017-06-14 11:38:47 -07:00
Dirk Thomas
14a496696c Merge pull request #140 from ros2/move_time
move time files to rcutils
2017-06-01 22:11:09 -07:00
Dirk Thomas
e86f7a667a Merge pull request #120 from ros2/reenable_node_get_graph_guard_condition_tests
reenable tests for rcl_node_get_graph_guard_condition for all rmw impl
2017-06-01 20:35:02 -07:00
Dirk Thomas
e84b178c85 move system and steady time to rcutils 2017-06-01 15:48:59 -07:00
Dirk Thomas
ee03d1a7cc add debug output which part of the state is incorrect 2017-06-01 14:58:57 -07:00
William Woodall
517b79bac6 found more disabled tests that shouldn't be for Fast-RTPS 2017-06-01 14:51:05 -07:00
William Woodall
283e476c26 reenable tests for rcl_node_get_graph_guard_condition for all rmw impl 2017-06-01 14:51:05 -07:00
William Woodall
e1bfa26cea Use namespaces (#137)
* fix documentation of expand_topic_name()

* use expand_topic_name() in pub/sub/client/service

* update test expectations

* use absolute topic names to avoid mismatch due to expansion

* propagate new functions from rcutils error handling

* convert given rcl allocator to a rcutils allocator
2017-05-30 18:24:48 -07:00