Fix(system_subprocess): save_completed_state passing stderr instead of stdin to callback#1159
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1159 +/- ##
==========================================
+ Coverage 68.73% 68.81% +0.07%
==========================================
Files 408 408
Lines 13697 13726 +29
Branches 1543 1552 +9
==========================================
+ Hits 9415 9445 +30
+ Misses 4282 4281 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Nice catch, thank you for fixing that @Mahmood-Sinan. Would it be possible to add a test routine that exercises using stdin with a process completion callback ?
Thanks for reviewing. I have added the test for callback. I had to use a wrapper for payload because array of character strings were getting converted into a scalar variable in callback subroutine. Please take a look. |
jvdp1
left a comment
There was a problem hiding this comment.
thank you @Mahmood-Sinan . Here are a few suggestions
|
|
||
| implicit none | ||
|
|
||
| type :: payload_wrapper |
There was a problem hiding this comment.
could be the DT string_type of stdlib used?
There was a problem hiding this comment.
When I tried, the compiler gave me an error saying that
193 | type is (string_type)
| 1
Error: The type-spec shall not specify a sequence derived type or a type with the BIND attribute in SELECT TYPE at (1) [F2003:C815]
I suppose we cannot do so, since string_type has sequence attribute.
|
@jvdp1 Thanks for reviewing. I have made the changes. |
|
@jvdp1 please check. |
jvdp1
left a comment
There was a problem hiding this comment.
Thank you @Mahmood-Sinan . LGTM.
Could you merge the master branch back to resolve the CI issue, please? Then it will be ready to be merged IMO.
|
@jvdp1 I have merged rhe master branch. Please check. |
|
thank you @Mahmood-Sinan . I'll merge it. |
Fixes incorrect argument mapping in
process_callbackinsidesave_completed_statesubroutine whereprocess%stderrwas passed twice, causingstdinto be omitted. In one placeprocess%stderrwas being passed in place ofprocess%stdin. This change correctly passesprocess%stdin.