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

RCAL-661/667/654/656 Implement next round of SOC verification tests for uneven ramps #970

Merged
merged 31 commits into from
Nov 22, 2023

Conversation

stscieisenhamer
Copy link
Collaborator

@stscieisenhamer stscieisenhamer commented Nov 3, 2023

Resolves RCAL-661
Resolves RCAL-667
Resolves RCAL-654
Resolves RCAL-656

This PR implements the SOC test requirements for being able to calibrate uneven ramps in both the RampFitStep and ExposurePipeline

Note that RCAL_667 was mostly already done in the test test_wfi_pipeline.py module; the requirement message was simply updated. An additional check on ImageModel was added.

Note: Currently draft awaiting official test data.

Checklist

  • added entry in CHANGES.rst under the corresponding subsection
  • updated relevant tests
  • updated relevant documentation
  • updated relevant milestone(s)
  • added relevant label(s)
  • ran regression tests, post a link to the Jenkins job below. How to run regression tests on a PR

Copy link

codecov bot commented Nov 3, 2023

Codecov Report

Attention: 4 lines in your changes are missing coverage. Please review.

Comparison is base (c9cb32b) 70.97% compared to head (3f071c1) 70.94%.
Report is 1 commits behind head on main.

Files Patch % Lines
romancal/lib/dms.py 33.33% 4 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #970      +/-   ##
==========================================
- Coverage   70.97%   70.94%   -0.04%     
==========================================
  Files         104      105       +1     
  Lines        6973     6979       +6     
==========================================
+ Hits         4949     4951       +2     
- Misses       2024     2028       +4     
Flag Coverage Δ *Carryforward flag
nightly 63.06% <ø> (ø) Carriedforward from 2902803

*This pull request uses carry forward flags. Click here to find out more.

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

from stpipe import log as stpipe_log


def result_logger(requirement, message):
Copy link
Collaborator

Choose a reason for hiding this comment

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

I thought the metrics_logger package already did this for us, and we shouldn't need to add anything?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This was what generated my question on slack about the double-logging, which is seen in other tests. If there is no particular need for this, I am happy to pull this out and rely simply on the provided metrics logger.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Let's use the metrics_logger as in the other tests.

@@ -23,7 +23,7 @@ def passfail(bool_expr):

@pytest.mark.bigdata
@pytest.mark.soctests
@metrics_logger("DMS86", "DMS87", "DMS88")
@metrics_logger("DMS86", "DMS87", "DMS88", "DMS280")
Copy link
Collaborator

Choose a reason for hiding this comment

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

Did we have any other DMS requirements we wanted to close as part of this? I'm looking for the DMS362, 366, 363, 367? Or you're waiting to plug in the data before decorating those?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

If I have read them correctly, which is possibly not, DMS362, 366, 363, and 367, all relate to just the ramp fit step, which are now all handled in the test_ramp_fit.py test module, which has just been pushed.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Ah, good, I see this now. We need to decorate the tests with the metrics_logger decoration so that whatever tools pick up the tests right. It's not clear to me that it's straightforward with your current structure, but ideally we'd have a single DMS362: Pass, and not three of them.

@stscieisenhamer stscieisenhamer force-pushed the rcaltesting_nojmp branch 2 times, most recently from 9644f8d to a9d2c78 Compare November 19, 2023 21:22
@stscieisenhamer stscieisenhamer marked this pull request as ready for review November 19, 2023 21:23
@stscieisenhamer stscieisenhamer requested a review from a team as a code owner November 19, 2023 21:23
Copy link
Collaborator

@schlafly schlafly left a comment

Choose a reason for hiding this comment

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

Looks good to me.

@stscieisenhamer
Copy link
Collaborator Author

Regression test

Something tells me there is a name collision however. Too many of the keywords are different, in particular the step completion ones. The truth appears to have completed all steps when the input/result should only have completed dqinit and rampfit.

@stscieisenhamer
Copy link
Collaborator Author

We have a successful regression!

Once CI is finished after the next rebase, this should be good to go.

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