Skip to content

Commit 459c4ff

Browse files
committed
ci: update to skip camera tests in CI
1 parent 4a509af commit 459c4ff

1 file changed

Lines changed: 16 additions & 24 deletions

File tree

test/test_3d_reconstruction.py

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -65,17 +65,13 @@ def tearDownClass(cls):
6565
print(f"Stopping gzserver (PID={proc.pid})")
6666
proc.terminate()
6767

68+
@pytest.mark.skipif(
69+
os.environ.get("CI") == "true",
70+
reason="Camera tests are unreliable in CI environments",
71+
)
6872
def test_camera_topics(self, proc_output):
6973
"""Test that camera topics are publishing msgs."""
7074

71-
# Set appropriate QoS for sensor data
72-
sensor_qos = rclpy.qos.QoSProfile(
73-
reliability=rclpy.qos.ReliabilityPolicy.BEST_EFFORT,
74-
durability=rclpy.qos.DurabilityPolicy.VOLATILE,
75-
history=rclpy.qos.HistoryPolicy.KEEP_LAST,
76-
depth=10,
77-
)
78-
7975
msgs_left = []
8076
msgs_right = []
8177

@@ -84,18 +80,18 @@ def test_camera_topics(self, proc_output):
8480
CameraInfo,
8581
"/cam_turtlebot_left/camera_info",
8682
lambda msg: msgs_left.append(msg),
87-
qos_profile=sensor_qos,
83+
qos_profile=10,
8884
)
8985

9086
sub_right = self.__class__.node.create_subscription(
9187
CameraInfo,
9288
"/cam_turtlebot_right/camera_info",
9389
lambda msg: msgs_right.append(msg),
94-
qos_profile=sensor_qos,
90+
qos_profile=10,
9591
)
9692

97-
# Wait for messages (up to 10 seconds)
98-
for _ in range(100): # 100 x 0.1 seconds = 10 seconds
93+
# Wait for messages (up to 5 seconds)
94+
for _ in range(50): # 50 x 0.1 seconds = 5 seconds
9995
rclpy.spin_once(self.__class__.node, timeout_sec=0.1)
10096
if msgs_left and msgs_right:
10197
break
@@ -110,17 +106,13 @@ def test_camera_topics(self, proc_output):
110106

111107
print("\n--- Camera Topics Test Completed Successfully ---")
112108

109+
@pytest.mark.skipif(
110+
os.environ.get("CI") == "true",
111+
reason="Camera tests are unreliable in CI environments",
112+
)
113113
def test_camera_images(self, proc_output):
114114
"""Test that camera images are published."""
115115

116-
# Set appropriate QoS for sensor data
117-
sensor_qos = rclpy.qos.QoSProfile(
118-
reliability=rclpy.qos.ReliabilityPolicy.BEST_EFFORT,
119-
durability=rclpy.qos.DurabilityPolicy.VOLATILE,
120-
history=rclpy.qos.HistoryPolicy.KEEP_LAST,
121-
depth=10,
122-
)
123-
124116
# Check actual message receipt
125117
msgs_left = []
126118
msgs_right = []
@@ -130,18 +122,18 @@ def test_camera_images(self, proc_output):
130122
Image,
131123
"/cam_turtlebot_left/image_raw",
132124
lambda msg: msgs_left.append(msg),
133-
qos_profile=sensor_qos,
125+
qos_profile=10,
134126
)
135127

136128
sub_right = self.__class__.node.create_subscription(
137129
Image,
138130
"/cam_turtlebot_right/image_raw",
139131
lambda msg: msgs_right.append(msg),
140-
qos_profile=sensor_qos,
132+
qos_profile=10,
141133
)
142134

143-
# Wait for messages (up to 10 seconds)
144-
for _ in range(100): # 100 x 0.1 seconds = 10 seconds
135+
# Wait for messages (up to 5 seconds)
136+
for _ in range(50): # 50 x 0.1 seconds = 5 seconds
145137
rclpy.spin_once(self.__class__.node, timeout_sec=0.1)
146138
if msgs_left and msgs_right:
147139
break

0 commit comments

Comments
 (0)