Skip to content

Pytest Incompatibility with ROS2 Humble Release on Robostack #1529

@alberthli

Description

@alberthli

Checks

  • I have checked that this issue has not already been reported.

  • I have confirmed this bug exists on the latest version of pixi, using pixi --version.

Reproducible example

The issue can be reproduced with the following pixi.toml.

[project]
name = "proj"
channels = ["conda-forge", "robostack-staging"]
platforms = ["linux-64"]

[dependencies]
ros-humble-ros-base = "*"

[pypi-dependencies]
pytest = "*"

Issue description

With the above pixi.toml, running pytest in the pixi shell raises the error

.pixi/envs/default/lib/python3.11/site-packages/pluggy/_hooks.py:513: in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
.pixi/envs/default/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
.pixi/envs/default/lib/python3.11/site-packages/_pytest/python.py:197: in pytest_collect_file
    module: Module = ihook.pytest_pycollect_makemodule(
.pixi/envs/default/lib/python3.11/site-packages/_pytest/config/compat.py:79: in fixed_hook
    return hook(**kw)
.pixi/envs/default/lib/python3.11/site-packages/pluggy/_hooks.py:513: in __call__
    return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
.pixi/envs/default/lib/python3.11/site-packages/pluggy/_manager.py:120: in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
.pixi/envs/default/lib/python3.11/site-packages/launch_testing/pytest/hooks.py:188: in pytest_pycollect_makemodule
    entrypoint = find_launch_test_entrypoint(path)
.pixi/envs/default/lib/python3.11/site-packages/launch_testing/pytest/hooks.py:178: in find_launch_test_entrypoint
    module = import_path(path, root=None)
E   TypeError: import_path() missing 1 required keyword-only argument: 'consider_namespace_packages'

This seems to have been patched and backported to Humble here: ros2/launch#777. However, it's not clear whether the binary from RoboStack includes the patch. Running pytest outside of a pixi environment where I have ROS2 installed locally doesn't raise any errors.

Expected behavior

I should be able to run pytest without issue in a pixi shell.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions