@@ -49,15 +49,17 @@ TEST_F(TestSharedLibrary, basic_load) {
49
49
50
50
// Check debug name works first because rcutils_load_shared_library should be called on
51
51
// non-debug symbol name
52
- ret = rcutils_get_platform_library_name (" dummy_shared_library" , library_path, 1024 , true );
52
+ ret = rcutils_get_platform_library_name (
53
+ RCUTILS_STRINGIFY (SHARED_LIBRARY_UNDER_TEST), library_path, 1024 , true );
53
54
ASSERT_EQ (RCUTILS_RET_OK, ret);
54
55
55
- ret = rcutils_get_platform_library_name (" dummy_shared_library" , library_path, 1024 , false );
56
+ ret = rcutils_get_platform_library_name (
57
+ RCUTILS_STRINGIFY (SHARED_LIBRARY_UNDER_TEST), library_path, 1024 , false );
56
58
ASSERT_EQ (RCUTILS_RET_OK, ret);
57
59
58
60
// getting shared library
59
61
ret = rcutils_load_shared_library (&lib, library_path, rcutils_get_default_allocator ());
60
- ASSERT_EQ (RCUTILS_RET_OK, ret);
62
+ ASSERT_EQ (RCUTILS_RET_OK, ret) << rcutils_get_error_string (). str ;
61
63
EXPECT_TRUE (rcutils_is_shared_library_loaded (&lib));
62
64
63
65
// unload shared_library
@@ -80,7 +82,8 @@ TEST_F(TestSharedLibrary, bad_load) {
80
82
81
83
TEST_F (TestSharedLibrary, fail_allocator) {
82
84
rcutils_ret_t ret;
83
- ret = rcutils_get_platform_library_name (" dummy_shared_library" , library_path, 1024 , false );
85
+ ret = rcutils_get_platform_library_name (
86
+ RCUTILS_STRINGIFY (SHARED_LIBRARY_UNDER_TEST), library_path, 1024 , false );
84
87
ASSERT_EQ (RCUTILS_RET_OK, ret);
85
88
86
89
rcutils_allocator_t failing_allocator = get_failing_allocator ();
@@ -91,46 +94,63 @@ TEST_F(TestSharedLibrary, fail_allocator) {
91
94
TEST_F (TestSharedLibrary, load_two_times) {
92
95
rcutils_ret_t ret;
93
96
94
- ret = rcutils_get_platform_library_name (" dummy_shared_library" , library_path, 1024 , false );
97
+ ret = rcutils_get_platform_library_name (
98
+ RCUTILS_STRINGIFY (SHARED_LIBRARY_UNDER_TEST), library_path, 1024 , false );
95
99
ASSERT_EQ (RCUTILS_RET_OK, ret);
96
100
97
101
// getting shared library
98
102
ret = rcutils_load_shared_library (&lib, library_path, rcutils_get_default_allocator ());
99
- ASSERT_EQ (RCUTILS_RET_OK, ret);
103
+ EXPECT_EQ (RCUTILS_RET_OK, ret);
100
104
101
105
// getting shared library
102
- ret = rcutils_load_shared_library (&lib, library_path, rcutils_get_default_allocator ());
103
- ASSERT_EQ (RCUTILS_RET_OK, ret);
106
+ rcutils_shared_library_t clone = rcutils_get_zero_initialized_shared_library ();
107
+ ret = rcutils_load_shared_library (&clone, library_path, rcutils_get_default_allocator ());
108
+ EXPECT_EQ (RCUTILS_RET_OK, ret);
109
+
110
+ // unload shared_library
111
+ ret = rcutils_unload_shared_library (&clone);
112
+ EXPECT_EQ (RCUTILS_RET_OK, ret);
104
113
105
114
// unload shared_library
106
115
ret = rcutils_unload_shared_library (&lib);
107
- ASSERT_EQ (RCUTILS_RET_OK, ret);
116
+ EXPECT_EQ (RCUTILS_RET_OK, ret);
108
117
}
109
118
110
119
TEST_F (TestSharedLibrary, error_load) {
111
120
rcutils_ret_t ret;
112
121
113
- rcutils_shared_library_t lib_empty;
114
- ret = rcutils_load_shared_library (&lib_empty, NULL , rcutils_get_zero_initialized_allocator ());
115
- ASSERT_EQ (RCUTILS_RET_INVALID_ARGUMENT, ret);
116
-
117
- lib_empty = rcutils_get_zero_initialized_shared_library ();
118
- ret = rcutils_load_shared_library (&lib_empty, NULL , rcutils_get_zero_initialized_allocator ());
122
+ ret = rcutils_load_shared_library (&lib, NULL , rcutils_get_default_allocator ());
119
123
ASSERT_EQ (RCUTILS_RET_INVALID_ARGUMENT, ret);
124
+ rcutils_reset_error ();
120
125
121
- ret = rcutils_get_platform_library_name (" dummy_shared_library" , library_path, 1024 , false );
126
+ ret = rcutils_get_platform_library_name (
127
+ RCUTILS_STRINGIFY (SHARED_LIBRARY_UNDER_TEST), library_path, 1024 , false );
122
128
ASSERT_EQ (RCUTILS_RET_OK, ret);
123
129
124
130
ret = rcutils_load_shared_library (
125
- &lib_empty ,
131
+ &lib ,
126
132
library_path, rcutils_get_zero_initialized_allocator ());
127
133
ASSERT_EQ (RCUTILS_RET_INVALID_ARGUMENT, ret);
134
+ rcutils_reset_error ();
135
+
136
+ ret = rcutils_load_shared_library (
137
+ &lib, library_path, rcutils_get_default_allocator ());
138
+ ASSERT_EQ (RCUTILS_RET_OK, ret);
139
+
140
+ ret = rcutils_load_shared_library (
141
+ &lib, library_path, rcutils_get_default_allocator ());
142
+ EXPECT_EQ (RCUTILS_RET_INVALID_ARGUMENT, ret);
143
+ rcutils_reset_error ();
144
+
145
+ ret = rcutils_unload_shared_library (&lib);
146
+ EXPECT_EQ (RCUTILS_RET_OK, ret);
128
147
}
129
148
130
149
TEST_F (TestSharedLibrary, error_unload) {
131
150
rcutils_ret_t ret;
132
151
133
- ret = rcutils_get_platform_library_name (" dummy_shared_library" , library_path, 1024 , false );
152
+ ret = rcutils_get_platform_library_name (
153
+ RCUTILS_STRINGIFY (SHARED_LIBRARY_UNDER_TEST), library_path, 1024 , false );
134
154
ASSERT_EQ (RCUTILS_RET_OK, ret);
135
155
136
156
ret = rcutils_load_shared_library (&lib, library_path, rcutils_get_default_allocator ());
@@ -153,7 +173,8 @@ TEST_F(TestSharedLibrary, error_symbol) {
153
173
void * symbol = rcutils_get_symbol (&lib, " print_name" );
154
174
EXPECT_TRUE (symbol == NULL );
155
175
156
- ret = rcutils_get_platform_library_name (" dummy_shared_library" , library_path, 1024 , false );
176
+ ret = rcutils_get_platform_library_name (
177
+ RCUTILS_STRINGIFY (SHARED_LIBRARY_UNDER_TEST), library_path, 1024 , false );
157
178
ASSERT_EQ (RCUTILS_RET_OK, ret);
158
179
ret = rcutils_load_shared_library (&lib, library_path, rcutils_get_default_allocator ());
159
180
ASSERT_EQ (RCUTILS_RET_OK, ret);
@@ -177,7 +198,8 @@ TEST_F(TestSharedLibrary, basic_symbol) {
177
198
ret = rcutils_has_symbol (nullptr , " symbol" );
178
199
EXPECT_FALSE (ret);
179
200
180
- ret = rcutils_get_platform_library_name (" dummy_shared_library" , library_path, 1024 , false );
201
+ ret = rcutils_get_platform_library_name (
202
+ RCUTILS_STRINGIFY (SHARED_LIBRARY_UNDER_TEST), library_path, 1024 , false );
181
203
ASSERT_EQ (RCUTILS_RET_OK, ret);
182
204
183
205
// getting shared library
0 commit comments