(Closes 2311) Add functionality to derive module and subroutine names of adjoint test from filename for LFRic API
Closes #2311 which has a description of the problem.
Patch notes
I solved the problem by feeding the filename given to -otest down into the codebase. Here is a summary of the changes made across the relevant call tree:
src/psyclone/psyad/main.py
Changed the default value of this variable to be None. Added in the args.test_filename value to the call signature of generate_adjoint_str.
src/psyclone/psyad/tl2ad.py
Added new test_filename argument into call signature. I decided to add the conversion of the test_filename into the test_name variable here because I figured it would be API specific, so having it in the API selection telegraphs that nicely. Default value is just adjoint_test like the previous behaviour.
For the LFRic API, we take everything from test_filename before "_mod." to be the test_name.
src/psyclone/psyad/domain/lfric/lfric_adjoint_harness.py
Changed function to use test_name instead of the hardcoded value of "adjoint_test".
Testing
I tested this by making changes to src/psyclone/tests/psyad/domain/lfric/test_lfric_adjoint_harness.py. I passed in a new value of the optional test_name that is "adjoint_test_alg" which would replicate what we see in LFRic. This test passed by producing the expected "adjoint_test_alg_mod" as the module name and "adjoint_test_alg" as the subroutine name.
I also tested this by changing src/psyclone/tests/psyad/tl2ad_test.py to include a test_filename KGO, which also passed.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
Project coverage is 99.86%. Comparing base (
8367de1) to head (567148e). Report is 27 commits behind head on master.
Additional details and impacted files
@@ Coverage Diff @@
## master #2749 +/- ##
=======================================
Coverage 99.86% 99.86%
=======================================
Files 354 354
Lines 49010 49021 +11
=======================================
+ Hits 48946 48957 +11
Misses 64 64
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.