@@ -175,6 +175,7 @@ def test_missing_intfb_rule_subroutine(rules):
175175 end subroutine local_intf_routine
176176 end interface
177177#include "included_func.intfb.h"
178+ #include "other_inc_func.func.h"
178179
179180 CALL IMPORTED_ROUTINE(A)
180181 CALL INCLUDED_ROUTINE(B)
@@ -185,6 +186,8 @@ def test_missing_intfb_rule_subroutine(rules):
185186 LOCAL_VAR = LOCAL_VAR + MIN(INCLUDED_FUNC(B), 1)
186187 LOCAL_VAR = LOCAL_VAR + MISSING_FUNC(A, B)
187188 LOCAL_VAR = LOCAL_VAR + DT%FUNC(A+B)
189+ LOCAL_VAR = LOCAL_VAR + OTHER_INC_FUNC(A, 'STR VAL')
190+ LOCAL_VAR = LOCAL_VAR + MISSING_INC_FUNC(A, 'STR VAL')
188191end subroutine missing_intfb_rule
189192""" .strip ()
190193 source = Sourcefile .from_source (fcode )
@@ -193,11 +196,14 @@ def test_missing_intfb_rule_subroutine(rules):
193196 run_linter (source , [rules .MissingIntfbRule ], handlers = [handler ])
194197
195198 expected_messages = (
196- (['[L9]' , 'MissingIntfbRule' , '`missing_routine`' , '(l. 19)' ]),
197- # (['[L9]', 'MissingIntfbRule', 'MISSING_FUNC', '(l. 15)']),
199+ (['[L9]' , 'MissingIntfbRule' , '`missing_routine`' , '(l. 20)' ]),
200+ # (['[L9]', 'MissingIntfbRule', 'MISSING_FUNC', '(l. 25)']),
201+ (['[L9]' , 'MissingIntfbRule' , '`missing_inc_func`' , '(l. 28)' ])
198202 # NB:
199- # - The missing function is not discovered because it is syntactically
203+ # - The `missing_func` is not discovered because it is syntactically
200204 # indistinguishable from an Array subscript
205+ # - The `missing_inc_func` has a string argument and can therefore be
206+ # identified as an inline call by fparser
201207 # - Calls to type-bound procedures are not reported
202208 )
203209
0 commit comments