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

Apply basic code style checks to test configuration files #9146

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

emolter
Copy link
Collaborator

@emolter emolter commented Feb 5, 2025

Partially Resolves JP-3860

This PR updates pytest_jwst/, conftest.py, regtest/conftest.py, regtest/sdp_pools_source.py, regtest/regtestdata.py, and test/helpers.py to more closely align with the new code style rules.

For a large portion of the testing configuration, fully updating these would constitute a major refactor: for example, I started making regtestdata.py use pathlib.Path instead of os.path, but then realized that basically the entire regtestdata.py functionality is related to operating on paths. For now, I have added a few rules to the per-file-ignores list for the testing configuration files, and will write a ticket suggesting that this be revisited in the future.

Given the above, the majority of the non-trivial changes in this PR are docstring-related. I do think it's very useful to have detailed docstrings for the testing configuration functions and methods, since it's not always obvious what they do. The numpydoc rules have been un-ignored for these files, and I've tried my best to update the docstrings based on my understanding. However, I'm very much NOT an expert in this part of the repository, so please do read carefully and let me know where I've missed things or could be more precise/specific.

Tasks

  • request a review from someone specific, to avoid making the maintainers review every PR
  • add a build milestone, i.e. Build 11.3 (use the latest build if not sure)
  • Does this PR change user-facing code / API? (if not, label with no-changelog-entry-needed)
    • write news fragment(s) in changes/: echo "changed something" > changes/<PR#>.<changetype>.rst (see below for change types)
    • update or add relevant tests
    • update relevant docstrings and / or docs/ page
    • start a regression test and include a link to the running job (click here for instructions)
      • Do truth files need to be updated ("okified")?
        • after the reviewer has approved these changes, run okify_regtests to update the truth files
  • if a JIRA ticket exists, make sure it is resolved properly
news fragment change types...
  • changes/<PR#>.general.rst: infrastructure or miscellaneous change
  • changes/<PR#>.docs.rst
  • changes/<PR#>.stpipe.rst
  • changes/<PR#>.datamodels.rst
  • changes/<PR#>.scripts.rst
  • changes/<PR#>.set_telescope_pointing.rst
  • changes/<PR#>.pipeline.rst

stage 1

  • changes/<PR#>.group_scale.rst
  • changes/<PR#>.dq_init.rst
  • changes/<PR#>.emicorr.rst
  • changes/<PR#>.saturation.rst
  • changes/<PR#>.ipc.rst
  • changes/<PR#>.firstframe.rst
  • changes/<PR#>.lastframe.rst
  • changes/<PR#>.reset.rst
  • changes/<PR#>.superbias.rst
  • changes/<PR#>.refpix.rst
  • changes/<PR#>.linearity.rst
  • changes/<PR#>.rscd.rst
  • changes/<PR#>.persistence.rst
  • changes/<PR#>.dark_current.rst
  • changes/<PR#>.charge_migration.rst
  • changes/<PR#>.jump.rst
  • changes/<PR#>.clean_flicker_noise.rst
  • changes/<PR#>.ramp_fitting.rst
  • changes/<PR#>.gain_scale.rst

stage 2

  • changes/<PR#>.assign_wcs.rst
  • changes/<PR#>.badpix_selfcal.rst
  • changes/<PR#>.msaflagopen.rst
  • changes/<PR#>.nsclean.rst
  • changes/<PR#>.imprint.rst
  • changes/<PR#>.background.rst
  • changes/<PR#>.extract_2d.rst
  • changes/<PR#>.master_background.rst
  • changes/<PR#>.wavecorr.rst
  • changes/<PR#>.srctype.rst
  • changes/<PR#>.straylight.rst
  • changes/<PR#>.wfss_contam.rst
  • changes/<PR#>.flatfield.rst
  • changes/<PR#>.fringe.rst
  • changes/<PR#>.pathloss.rst
  • changes/<PR#>.barshadow.rst
  • changes/<PR#>.photom.rst
  • changes/<PR#>.pixel_replace.rst
  • changes/<PR#>.resample_spec.rst
  • changes/<PR#>.residual_fringe.rst
  • changes/<PR#>.cube_build.rst
  • changes/<PR#>.extract_1d.rst
  • changes/<PR#>.resample.rst

stage 3

  • changes/<PR#>.assign_mtwcs.rst
  • changes/<PR#>.mrs_imatch.rst
  • changes/<PR#>.tweakreg.rst
  • changes/<PR#>.skymatch.rst
  • changes/<PR#>.exp_to_source.rst
  • changes/<PR#>.outlier_detection.rst
  • changes/<PR#>.tso_photometry.rst
  • changes/<PR#>.stack_refs.rst
  • changes/<PR#>.align_refs.rst
  • changes/<PR#>.klip.rst
  • changes/<PR#>.spectral_leak.rst
  • changes/<PR#>.source_catalog.rst
  • changes/<PR#>.combine_1d.rst
  • changes/<PR#>.ami.rst

other

  • changes/<PR#>.wfs_combine.rst
  • changes/<PR#>.white_light.rst
  • changes/<PR#>.cube_skymatch.rst
  • changes/<PR#>.engdb_tools.rst
  • changes/<PR#>.guider_cds.rst

@emolter
Copy link
Collaborator Author

emolter commented Feb 5, 2025

initial round of regression tests here https://github.com/spacetelescope/RegressionTests/actions/runs/13168843092

edit: two new failures, but I believe they were related to an engdb hiccup and not this PR. Marking this ready for review, and will run regtests again later before merge to make sure these go away.

Copy link

codecov bot commented Feb 6, 2025

Codecov Report

Attention: Patch coverage is 31.95876% with 66 lines in your changes missing coverage. Please review.

Project coverage is 73.76%. Comparing base (2394a6c) to head (c1cac10).
Report is 2 commits behind head on main.

Files with missing lines Patch % Lines
jwst/regtest/regtestdata.py 21.42% 33 Missing ⚠️
jwst/regtest/conftest.py 35.55% 29 Missing ⚠️
jwst/regtest/sdp_pools_source.py 62.50% 3 Missing ⚠️
pytest_jwst/plugin.py 0.00% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main    #9146   +/-   ##
=======================================
  Coverage   73.76%   73.76%           
=======================================
  Files         372      372           
  Lines       37248    37248           
=======================================
  Hits        27476    27476           
  Misses       9772     9772           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@emolter emolter marked this pull request as ready for review February 6, 2025 15:29
@emolter emolter requested review from a team as code owners February 6, 2025 15:29
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.

2 participants