PSyclone icon indicating copy to clipboard operation
PSyclone copied to clipboard

(Closes 2311) Add functionality to derive module and subroutine names of adjoint test from filename for LFRic API

Open DrTVockerodtMO opened this issue 1 year ago • 1 comments

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.

DrTVockerodtMO avatar Oct 21 '24 11:10 DrTVockerodtMO

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.

codecov[bot] avatar Oct 21 '24 12:10 codecov[bot]