Skip to content

Commit da6b57d

Browse files
JohnYanxinLiuclaude
andcommitted
fix(robot): pin pytest to 7.4.* so apt launch_pytest stays compatible
The builder-stage pip block pulled pytest >=8 transitively into /usr/local (copied into the runtime image), shadowing Jazzy's apt python3-pytest 7.4. pytest 8 removed the `path` argument from pytest_pycollect_makemodule, which apt's launch_pytest plugin still declares — so every pytest invocation in the robot container aborted at plugin registration. This broke `colcon test` for ament_python packages (e.g. lidar_point_cloud_filter in test_colcon_test_robot), while ament_cmake gtest packages were unaffected. Pin pytest to Jazzy's version so the container is internally consistent and launch_testing / launch_pytest remain usable for future launch-based tests. The test runner (tests/docker) is a separate interpreter and keeps its newer pytest. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent b732196 commit da6b57d

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

robot/docker/Dockerfile.robot

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ RUN if echo "$BASE_IMAGE" | grep -qE "(nvidia|l4t)" && [ "${SKIP_TENSORRT}" != "
131131
# Note: numpy>=1.26 required for Python 3.12 compatibility
132132
# Using --ignore-installed to avoid conflicts with system packages
133133
RUN pip3 install --break-system-packages --ignore-installed \
134+
"pytest==7.4.*" \
134135
empy==3.3.4 \
135136
future \
136137
lxml \

0 commit comments

Comments
 (0)