Skip to content

Commit c8278c3

Browse files
authored
Fix tests on Ubuntu 24.04 (#168)
* Refs #21382. Fix tests on Ubuntu 24.04 Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev> * Refs #21382. Apply suggestions Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev> --------- Signed-off-by: Ricardo González Moreno <ricardo@richiware.dev>
1 parent effcac4 commit c8278c3

7 files changed

Lines changed: 332 additions & 1021 deletions

File tree

fastdds_python/src/swig/fastdds/dds/domain/DomainParticipantFactory.i

Lines changed: 10 additions & 114 deletions
Original file line numberDiff line numberDiff line change
@@ -16,124 +16,22 @@
1616
#include "fastdds/dds/domain/DomainParticipantFactory.hpp"
1717
%}
1818

19-
%extend eprosima::fastdds::dds::DomainParticipantFactory
20-
{
21-
/**
22-
* Create a Participant.
23-
*
24-
* @param domain_id Domain Id.
25-
* @param qos DomainParticipantQos Reference.
26-
* @param listener DomainParticipantListener Pointer (default: nullptr)
27-
* @param mask StatusMask Reference (default: all)
28-
* @return DomainParticipant pointer. (nullptr if not created.)
29-
*/
30-
DomainParticipant* create_participant(
31-
DomainId_t domain_id,
32-
const DomainParticipantQos& qos,
33-
DomainParticipantListener* listener = nullptr,
34-
const StatusMask& mask = eprosima::fastdds::dds::StatusMask::all())
35-
{
36-
if (nullptr != listener)
37-
{
38-
Swig::Director* director = SWIG_DIRECTOR_CAST(listener);
39-
40-
if (nullptr != director)
41-
{
42-
SWIG_PYTHON_THREAD_BEGIN_BLOCK;
43-
Py_INCREF(director->swig_get_self());
44-
SWIG_PYTHON_THREAD_END_BLOCK;
45-
}
46-
}
47-
48-
return self->create_participant(domain_id, qos, listener, mask);
49-
}
50-
51-
/**
52-
* Create a Participant.
53-
*
54-
* @param extended_qos DomainParticipantExtendedQos Reference.
55-
* @param listener DomainParticipantListener Pointer (default: nullptr)
56-
* @param mask StatusMask Reference (default: all)
57-
* @return DomainParticipant pointer. (nullptr if not created.)
58-
*/
59-
DomainParticipant* create_participant(
60-
const DomainParticipantExtendedQos& extended_qos,
61-
DomainParticipantListener* listener = nullptr,
62-
const StatusMask& mask = eprosima::fastdds::dds::StatusMask::all())
63-
{
64-
if (nullptr != listener)
65-
{
66-
Swig::Director* director = SWIG_DIRECTOR_CAST(listener);
67-
68-
if (nullptr != director)
69-
{
70-
SWIG_PYTHON_THREAD_BEGIN_BLOCK;
71-
Py_INCREF(director->swig_get_self());
72-
SWIG_PYTHON_THREAD_END_BLOCK;
73-
}
74-
}
75-
76-
return self->create_participant(extended_qos.domainId(), extended_qos, listener, mask);
77-
}
78-
79-
/**
80-
* Create a Participant.
81-
*
82-
* @param domain_id Domain Id.
83-
* @param profile_name Participant profile name.
84-
* @param listener DomainParticipantListener Pointer (default: nullptr)
85-
* @param mask StatusMask Reference (default: all)
86-
* @return DomainParticipant pointer. (nullptr if not created.)
87-
*/
88-
DomainParticipant* create_participant_with_profile(
89-
DomainId_t domain_id,
90-
const std::string& profile_name,
91-
DomainParticipantListener* listener = nullptr,
92-
const StatusMask& mask = eprosima::fastdds::dds::StatusMask::all())
19+
%typemap(in) (eprosima::fastdds::dds::DomainParticipantListener* listener) %{
20+
$typemap(in, eprosima::fastdds::dds::DomainParticipantListener* DISOWN)
9321
{
94-
if (nullptr != listener)
95-
{
96-
Swig::Director* director = SWIG_DIRECTOR_CAST(listener);
22+
Swig::Director* director = SWIG_DIRECTOR_CAST($1);
9723

98-
if (nullptr != director)
99-
{
100-
SWIG_PYTHON_THREAD_BEGIN_BLOCK;
101-
Py_INCREF(director->swig_get_self());
102-
SWIG_PYTHON_THREAD_END_BLOCK;
103-
}
104-
}
105-
106-
return self->create_participant_with_profile(domain_id, profile_name, listener, mask);
107-
}
108-
109-
/**
110-
* Create a Participant.
111-
*
112-
* @param profile_name Participant profile name.
113-
* @param listener DomainParticipantListener Pointer (default: nullptr)
114-
* @param mask StatusMask Reference (default: all)
115-
* @return DomainParticipant pointer. (nullptr if not created.)
116-
*/
117-
DomainParticipant* create_participant_with_profile(
118-
const std::string& profile_name,
119-
DomainParticipantListener* listener = nullptr,
120-
const StatusMask& mask = eprosima::fastdds::dds::StatusMask::all())
121-
{
122-
if (nullptr != listener)
24+
if (nullptr != director)
12325
{
124-
Swig::Director* director = SWIG_DIRECTOR_CAST(listener);
125-
126-
if (nullptr != director)
127-
{
128-
SWIG_PYTHON_THREAD_BEGIN_BLOCK;
129-
Py_INCREF(director->swig_get_self());
130-
SWIG_PYTHON_THREAD_END_BLOCK;
131-
}
26+
SWIG_PYTHON_THREAD_BEGIN_BLOCK;
27+
director->swig_incref();
28+
SWIG_PYTHON_THREAD_END_BLOCK;
13229
}
133-
134-
return self->create_participant_with_profile(profile_name, listener, mask);
13530
}
31+
%}
13632

33+
%extend eprosima::fastdds::dds::DomainParticipantFactory
34+
{
13735
/**
13836
* Remove a Participant and all associated publishers and subscribers.
13937
*
@@ -164,8 +62,6 @@
16462
}
16563
}
16664

167-
%ignore eprosima::fastdds::dds::DomainParticipantFactory::create_participant;
168-
%ignore eprosima::fastdds::dds::DomainParticipantFactory::create_participant_with_profile;
16965
%ignore eprosima::fastdds::dds::DomainParticipantFactory::delete_participant;
17066
%ignore eprosima::fastdds::dds::DomainParticipantFactory::get_dynamic_type_builder_from_xml_by_name;
17167

fastdds_python/test/api/test_datareader.py

Lines changed: 20 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -743,67 +743,33 @@ def test_get_set_listener(datareader):
743743
assert(fastdds.StatusMask.all() ==
744744
datareader.get_status_mask())
745745

746-
def test(status_mask_1, status_mask_2):
746+
def test(status_mask):
747747
"""
748-
Test the entity creation using the two types of StatusMasks.
748+
Test the entity creation using the type of StatusMask.
749749
"""
750750
listener = DataReaderListener()
751751
assert(listener is not None)
752752
assert(fastdds.RETCODE_OK ==
753-
datareader.set_listener(listener, status_mask_1))
753+
datareader.set_listener(listener, status_mask))
754754
assert(datareader.get_listener() == listener)
755-
assert(status_mask_1 == datareader.get_status_mask())
756-
listener = DataReaderListener()
757-
assert(listener is not None)
758-
assert(fastdds.RETCODE_OK ==
759-
datareader.set_listener(listener, status_mask_2))
760-
assert(datareader.get_listener() == listener)
761-
assert(status_mask_2 == datareader.get_status_mask())
755+
assert(status_mask == datareader.get_status_mask())
762756

763757
# Overload 2: Different status masks
764-
test(fastdds.StatusMask.all(), fastdds.StatusMask_all())
765-
test(fastdds.StatusMask.all(), fastdds.StatusMask_all())
766-
test(fastdds.StatusMask.none(), fastdds.StatusMask_none())
767-
test(fastdds.StatusMask.data_available(),
768-
fastdds.StatusMask_data_available())
769-
test(fastdds.StatusMask.data_on_readers(),
770-
fastdds.StatusMask_data_on_readers())
771-
test(fastdds.StatusMask.inconsistent_topic(),
772-
fastdds.StatusMask_inconsistent_topic())
773-
test(fastdds.StatusMask.liveliness_changed(),
774-
fastdds.StatusMask_liveliness_changed())
775-
test(fastdds.StatusMask.liveliness_lost(),
776-
fastdds.StatusMask_liveliness_lost())
777-
test(fastdds.StatusMask.offered_deadline_missed(),
778-
fastdds.StatusMask_offered_deadline_missed())
779-
test(fastdds.StatusMask.offered_incompatible_qos(),
780-
fastdds.StatusMask_offered_incompatible_qos())
781-
test(fastdds.StatusMask.publication_matched(),
782-
fastdds.StatusMask_publication_matched())
783-
test(fastdds.StatusMask.requested_deadline_missed(),
784-
fastdds.StatusMask_requested_deadline_missed())
785-
test(fastdds.StatusMask.requested_incompatible_qos(),
786-
fastdds.StatusMask_requested_incompatible_qos())
787-
test(fastdds.StatusMask.sample_lost(),
788-
fastdds.StatusMask_sample_lost())
789-
test(fastdds.StatusMask.sample_rejected(),
790-
fastdds.StatusMask_sample_rejected())
791-
test(fastdds.StatusMask.subscription_matched(),
792-
fastdds.StatusMask_subscription_matched())
793-
794-
m = fastdds.StatusMask_data_available() << \
795-
fastdds.StatusMask_data_on_readers() << \
796-
fastdds.StatusMask_inconsistent_topic() << \
797-
fastdds.StatusMask_liveliness_changed() << \
798-
fastdds.StatusMask_liveliness_lost() << \
799-
fastdds.StatusMask_offered_deadline_missed() << \
800-
fastdds.StatusMask_offered_incompatible_qos() << \
801-
fastdds.StatusMask_publication_matched() << \
802-
fastdds.StatusMask_requested_deadline_missed() << \
803-
fastdds.StatusMask_requested_incompatible_qos() << \
804-
fastdds.StatusMask_sample_lost() << \
805-
fastdds.StatusMask_sample_rejected() << \
806-
fastdds.StatusMask_subscription_matched()
758+
test(fastdds.StatusMask.all())
759+
test(fastdds.StatusMask.none())
760+
test(fastdds.StatusMask.data_available())
761+
test(fastdds.StatusMask.data_on_readers())
762+
test(fastdds.StatusMask.inconsistent_topic())
763+
test(fastdds.StatusMask.liveliness_changed())
764+
test(fastdds.StatusMask.liveliness_lost())
765+
test(fastdds.StatusMask.offered_deadline_missed())
766+
test(fastdds.StatusMask.offered_incompatible_qos())
767+
test(fastdds.StatusMask.publication_matched())
768+
test(fastdds.StatusMask.requested_deadline_missed())
769+
test(fastdds.StatusMask.requested_incompatible_qos())
770+
test(fastdds.StatusMask.sample_lost())
771+
test(fastdds.StatusMask.sample_rejected())
772+
test(fastdds.StatusMask.subscription_matched())
807773

808774
test(fastdds.StatusMask.data_available() <<
809775
fastdds.StatusMask.data_on_readers() <<
@@ -817,8 +783,7 @@ def test(status_mask_1, status_mask_2):
817783
fastdds.StatusMask.requested_incompatible_qos() <<
818784
fastdds.StatusMask.sample_lost() <<
819785
fastdds.StatusMask.sample_rejected() <<
820-
fastdds.StatusMask.subscription_matched(),
821-
m)
786+
fastdds.StatusMask.subscription_matched())
822787

823788

824789
def test_get_listening_locators(datareader):

fastdds_python/test/api/test_datawriter.py

Lines changed: 20 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -253,67 +253,33 @@ def test_get_set_listener(datawriter):
253253
assert(datawriter.get_listener() == listener)
254254
assert(fastdds.StatusMask.all() == datawriter.get_status_mask())
255255

256-
def test(status_mask_1, status_mask_2):
256+
def test(status_mask):
257257
"""
258-
Test the entity creation using the two types of StatusMasks.
258+
Test the entity creation using the type of StatusMask.
259259
"""
260260
listener = DataWriterListener()
261261
assert(listener is not None)
262262
assert(fastdds.RETCODE_OK ==
263-
datawriter.set_listener(listener, status_mask_1))
263+
datawriter.set_listener(listener, status_mask))
264264
assert(datawriter.get_listener() == listener)
265-
assert(status_mask_1 == datawriter.get_status_mask())
266-
listener = DataWriterListener()
267-
assert(listener is not None)
268-
assert(fastdds.RETCODE_OK ==
269-
datawriter.set_listener(listener, status_mask_2))
270-
assert(datawriter.get_listener() == listener)
271-
assert(status_mask_2 == datawriter.get_status_mask())
265+
assert(status_mask == datawriter.get_status_mask())
272266

273267
# Overload 2: Different status masks
274-
test(fastdds.StatusMask.all(), fastdds.StatusMask_all())
275-
test(fastdds.StatusMask.all(), fastdds.StatusMask_all())
276-
test(fastdds.StatusMask.none(), fastdds.StatusMask_none())
277-
test(fastdds.StatusMask.data_available(),
278-
fastdds.StatusMask_data_available())
279-
test(fastdds.StatusMask.data_on_readers(),
280-
fastdds.StatusMask_data_on_readers())
281-
test(fastdds.StatusMask.inconsistent_topic(),
282-
fastdds.StatusMask_inconsistent_topic())
283-
test(fastdds.StatusMask.liveliness_changed(),
284-
fastdds.StatusMask_liveliness_changed())
285-
test(fastdds.StatusMask.liveliness_lost(),
286-
fastdds.StatusMask_liveliness_lost())
287-
test(fastdds.StatusMask.offered_deadline_missed(),
288-
fastdds.StatusMask_offered_deadline_missed())
289-
test(fastdds.StatusMask.offered_incompatible_qos(),
290-
fastdds.StatusMask_offered_incompatible_qos())
291-
test(fastdds.StatusMask.publication_matched(),
292-
fastdds.StatusMask_publication_matched())
293-
test(fastdds.StatusMask.requested_deadline_missed(),
294-
fastdds.StatusMask_requested_deadline_missed())
295-
test(fastdds.StatusMask.requested_incompatible_qos(),
296-
fastdds.StatusMask_requested_incompatible_qos())
297-
test(fastdds.StatusMask.sample_lost(),
298-
fastdds.StatusMask_sample_lost())
299-
test(fastdds.StatusMask.sample_rejected(),
300-
fastdds.StatusMask_sample_rejected())
301-
test(fastdds.StatusMask.subscription_matched(),
302-
fastdds.StatusMask_subscription_matched())
303-
304-
m = fastdds.StatusMask_data_available() << \
305-
fastdds.StatusMask_data_on_readers() << \
306-
fastdds.StatusMask_inconsistent_topic() << \
307-
fastdds.StatusMask_liveliness_changed() << \
308-
fastdds.StatusMask_liveliness_lost() << \
309-
fastdds.StatusMask_offered_deadline_missed() << \
310-
fastdds.StatusMask_offered_incompatible_qos() << \
311-
fastdds.StatusMask_publication_matched() << \
312-
fastdds.StatusMask_requested_deadline_missed() << \
313-
fastdds.StatusMask_requested_incompatible_qos() << \
314-
fastdds.StatusMask_sample_lost() << \
315-
fastdds.StatusMask_sample_rejected() << \
316-
fastdds.StatusMask_subscription_matched()
268+
test(fastdds.StatusMask.all())
269+
test(fastdds.StatusMask.none())
270+
test(fastdds.StatusMask.data_available())
271+
test(fastdds.StatusMask.data_on_readers())
272+
test(fastdds.StatusMask.inconsistent_topic())
273+
test(fastdds.StatusMask.liveliness_changed())
274+
test(fastdds.StatusMask.liveliness_lost())
275+
test(fastdds.StatusMask.offered_deadline_missed())
276+
test(fastdds.StatusMask.offered_incompatible_qos())
277+
test(fastdds.StatusMask.publication_matched())
278+
test(fastdds.StatusMask.requested_deadline_missed())
279+
test(fastdds.StatusMask.requested_incompatible_qos())
280+
test(fastdds.StatusMask.sample_lost())
281+
test(fastdds.StatusMask.sample_rejected())
282+
test(fastdds.StatusMask.subscription_matched())
317283

318284
test(fastdds.StatusMask.data_available() <<
319285
fastdds.StatusMask.data_on_readers() <<
@@ -327,8 +293,7 @@ def test(status_mask_1, status_mask_2):
327293
fastdds.StatusMask.requested_incompatible_qos() <<
328294
fastdds.StatusMask.sample_lost() <<
329295
fastdds.StatusMask.sample_rejected() <<
330-
fastdds.StatusMask.subscription_matched(),
331-
m)
296+
fastdds.StatusMask.subscription_matched())
332297

333298

334299
def test_get_liveliness_lost_status(datawriter):

0 commit comments

Comments
 (0)