Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Meta-ticket]: Add pytest.ini to all packages which use pytest #951

Closed
clalancette opened this issue Jun 18, 2020 · 11 comments
Closed

[Meta-ticket]: Add pytest.ini to all packages which use pytest #951

clalancette opened this issue Jun 18, 2020 · 11 comments

Comments

@clalancette
Copy link
Contributor

In the current state, if you run any of the pytest tests locally, you get warning messages like:

/home/ubuntu/.local/lib/python3.8/site-packages/_pytest/junitxml.py:417
  /home/ubuntu/.local/lib/python3.8/site-packages/_pytest/junitxml.py:417: PytestDeprecationWarning: The 'junit_family' default value will change to 'xunit2' in pytest 6.0.
  Add 'junit_family=xunit1' to your pytest.ini file to keep the current format in future versions of pytest and silence this warning.
    _issue_warning_captured(deprecated.JUNIT_XML_DEFAULT_FAMILY, config.hook, 2)

We currently workaround this in CI by always adding a pytest.ini before starting tests (see ros2/ci#471), but it would be nice to get rid of that and just have local and CI work the same.

This is a tracking bug for all of the places we need to change it. Once I've opened the relevant PRs, I'll run one CI job for all of them here.

@clalancette
Copy link
Contributor Author

clalancette commented Jun 18, 2020

We'll also likely have to backport these to Dashing and Eloquent and Foxy to keep the warnings down there.

This was referenced Jun 18, 2020
@clalancette
Copy link
Contributor Author

CI:

  • Linux Build Status
  • Linux-aarch64 Build Status
  • macOS Build Status
  • Windows Build Status

@clalancette
Copy link
Contributor Author

The single failure in macOS and Windows is there in nightlies. So I think these are good to start reviewing and merging.

@clalancette
Copy link
Contributor Author

All right, with everything merged, let's see how a CI job does with the pytest.ini workaround removed:

  • Linux Build Status

@clalancette
Copy link
Contributor Author

I totally missed the whole ament_lint repository, so the failure in the last job is because of that. Here's another try, with that PR in place and the one to micro-ROS to see how we are doing:

  • Linux Build Status

@clalancette
Copy link
Contributor Author

clalancette commented Jun 22, 2020

I was missing ament_cmake_ros as well. Another try:

  • Linux Build Status

@clalancette
Copy link
Contributor Author

clalancette commented Jun 23, 2020

Here's a regular CI, just to show that the linked PRs don't have regressions:

  • Linux Build Status
  • Linux-aarch64 Build Status
  • macOS Build Status
  • Windows Build Status

@clalancette
Copy link
Contributor Author

All right, all failures in CI are also in nightlies.

@clalancette
Copy link
Contributor Author

All right, these are all in now. In theory, we could remove the pytest.ini workaround from CI; however, if we do that, we'll break CI for Dashing, Eloquent, and Foxy. The obvious solution is to backport all of these changes to all of those active distributions, which would finally allow us to close ros2/ci#471 , but is also a lot of churn (27*3 == 81 PRs to do this).

@dirk-thomas
Copy link
Member

We could also just remove the CI workaround for Foxy and rolling to ensure we don't accidentally reintroduce a problem.

@clalancette
Copy link
Contributor Author

We could also just remove the CI workaround for Foxy and rolling to ensure we don't accidentally reintroduce a problem.

All right, since I've now done this in ros2/ci#497, I'm going to close this tracking ticket. Thanks for the feedback and reviews here.

norro added a commit to micro-ROS/system_modes that referenced this issue May 31, 2021
Signed-off-by: Arne Nordmann (CR/AEA2) <arne.nordmann@de.bosch.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants