Skip to content

TST: add a filter for unactionable warning on windows+numpy2 - #16766

Merged
pllim merged 1 commit into
astropy:mainfrom
neutrinoceros:io.fits/tests/filter_unactionable_warning
Jul 24, 2024
Merged

pllim merged 1 commit into
astropy:mainfrom
neutrinoceros:io.fits/tests/filter_unactionable_warning

Conversation

@neutrinoceros

@neutrinoceros neutrinoceros commented Jul 24, 2024 •

Copy link
Copy Markdown
Contributor

Description

Follow up to #16581 and #16608
Fixes #16765

I think filtering is our only course of action here: the warning happens in the exact situation we identified as potentially problematic (i.e., calling io.fits.open(..., mode="update") on windows + numpy 2), but it needs to go off before any actual undefined behavior is triggered, so it's bound to also be emitted in applications that are actually safe, like the four tests that we've seen emitting it.

This problem affects v6.1.x so this PR needs to be backported.

  • By checking this box, the PR author has requested that maintainers do NOT use the "Squash and Merge" button. Maintainers should respect this when possible; however, the final decision is at the discretion of the maintainer that merges the PR.

@github-actions

Copy link
Copy Markdown
Contributor

Thank you for your contribution to Astropy! 🌌 This checklist is meant to remind the package maintainers who will review this pull request of some common things to look for.

  • Do the proposed changes actually accomplish desired goals?
  • Do the proposed changes follow the Astropy coding guidelines?
  • Are tests added/updated as required? If so, do they follow the Astropy testing guidelines?
  • Are docs added/updated as required? If so, do they follow the Astropy documentation guidelines?
  • Is rebase and/or squash necessary? If so, please provide the author with appropriate instructions. Also see instructions for rebase and squash.
  • Did the CI pass? If no, are the failures related? If you need to run daily and weekly cron jobs as part of the PR, please apply the "Extra CI" label. Codestyle issues can be fixed by the bot.
  • Is a change log needed? If yes, did the change log check pass? If no, add the "no-changelog-entry-needed" label. If this is a manual backport, use the "skip-changelog-checks" label unless special changelog handling is necessary.
  • Is this a big PR that makes a "What's new?" entry worthwhile and if so, is (1) a "what's new" entry included in this PR and (2) the "whatsnew-needed" label applied?
  • At the time of adding the milestone, if the milestone set requires a backport to release branch(es), apply the appropriate "backport-X.Y.x" label(s) before merge.

@github-actions

Copy link
Copy Markdown
Contributor

👋 Thank you for your draft pull request! Do you know that you can use [ci skip] or [skip ci] in your commit messages to skip running continuous integration tests until you are ready?

@pllim pllim left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am just going to get this in to unblock other PRs. @saimn , if you have any concerns, we can address in follow-up PR.

Thanks!

@pllim

pllim commented Jul 24, 2024

Copy link
Copy Markdown
Member

devdeps fix was just merged separately, so hopefully after this one, CI will be all green again. 🤞

Thanks!!!

@pllim
pllim merged commit cade201 into astropy:main Jul 24, 2024
meeseeksmachine pushed a commit to meeseeksmachine/astropy that referenced this pull request Jul 24, 2024
@neutrinoceros
neutrinoceros deleted the io.fits/tests/filter_unactionable_warning branch July 24, 2024 13:53
pllim added a commit that referenced this pull request Jul 25, 2024
…766-on-v6.1.x

Backport PR #16766 on branch v6.1.x (TST: add a filter for unactionable warning on windows+numpy2)
@saimn

saimn commented Jul 26, 2024

Copy link
Copy Markdown
Contributor

Yes I guess the warning is expected so it must be catched. It would have been better to filter it on the test_update_resized_header method instead of the full class, since it seems to be the only method triggering it. (Or even better around the fits.open context manager).

@neutrinoceros

Copy link
Copy Markdown
Contributor Author

There were actually 4 test cases triggering it in that class IIRC, which is why I decorated the whole class: it seemed preferable (to me) to avoid duplicating this filter too much, but let me know if you'd rather have more targeted decorators, I'm happy to switch.

@saimn

saimn commented Jul 26, 2024

Copy link
Copy Markdown
Contributor

From the list in #16765 it happens only in TestHDUListFunctions::test_update_resized_header (which is parametrized) and TestImageFunctions::test_io_manipulation. Applying the filter to all tests in TestHDUListFunctions makes it more difficult to know where this warning is triggered, so yes I would prefer if only this method was decorated.

@pllim

pllim commented Jul 26, 2024

Copy link
Copy Markdown
Member

so yes I would prefer if only this method was decorated.

@neutrinoceros , are you able to issue a follow-up PR? If not, let me know and I can. Thanks!

@neutrinoceros

Copy link
Copy Markdown
Contributor Author

I'm on it !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

TST: Windows job has 4 failures

3 participants