@@ -158,31 +158,34 @@ def _check_connection(codeplainAPI: codeplain_api.CodeplainAPI):
158158 )
159159
160160
161- def warn_if_acceptance_tests_without_conformance_script ( plain_module , args ) -> None :
161+ def warn_acceptance_tests_without_conformance_script ( module_names_with_acceptance_tests , args ) -> None :
162162 """Warn when acceptance tests are specified but no conformance tests script is configured.
163163
164164 Acceptance tests are treated as conformance tests, so a conformance tests script is required
165165 to actually run them. Without it, the acceptance tests cannot be executed.
166166 """
167- if args .conformance_tests_script :
167+ if args .conformance_tests_script or not module_names_with_acceptance_tests :
168168 return
169169
170- modules_with_acceptance_tests = [
171- module
172- for module in plain_module .all_required_modules + [plain_module ]
173- if plain_spec .has_acceptance_tests (module .plain_source )
174- ]
175- if not modules_with_acceptance_tests :
176- return
177-
178- module_names = ", " .join (module .module_name for module in modules_with_acceptance_tests )
170+ module_names = ", " .join (module_names_with_acceptance_tests )
179171 console .warning (
180172 f"Acceptance tests were found ({ module_names } ) but no conformance tests script is configured. "
181173 "Acceptance tests are treated as conformance tests and require a conformance tests script "
182174 "(--conformance-tests-script or 'conformance_tests_script' in config) to be executed."
183175 )
184176
185177
178+ def warn_if_acceptance_tests_without_conformance_script (plain_module , args ) -> None :
179+ """Warn when any loaded module (including required modules) defines acceptance tests
180+ but no conformance tests script is configured."""
181+ module_names_with_acceptance_tests = [
182+ module .module_name
183+ for module in plain_module .all_required_modules + [plain_module ]
184+ if plain_spec .has_acceptance_tests (module .plain_source )
185+ ]
186+ warn_acceptance_tests_without_conformance_script (module_names_with_acceptance_tests , args )
187+
188+
186189def render (args , run_state : RunState , event_bus : EventBus , default_log_level : str = "INFO" ): # noqa: C901
187190 template_dirs = file_utils .get_template_directories (args .filename , args .template_dir , DEFAULT_TEMPLATE_DIRS )
188191
@@ -350,9 +353,13 @@ def main(): # noqa: C901
350353
351354 if args .dry_run :
352355 console .info ("Printing dry run output...\n " )
353- _ , plain_source_tree , _ = plain_file .plain_file_parser (args .filename , template_dirs )
356+ module_name , plain_source_tree , _ = plain_file .plain_file_parser (args .filename , template_dirs )
354357 render_range = plain_spec .compute_render_range (args , plain_source_tree )
355358 print_dry_run_output (plain_source_tree , render_range )
359+ module_names_with_acceptance_tests = (
360+ [module_name ] if plain_spec .has_acceptance_tests (plain_source_tree ) else []
361+ )
362+ warn_acceptance_tests_without_conformance_script (module_names_with_acceptance_tests , args )
356363 return
357364 except Exception as e :
358365 console .error (f"Error: { str (e )} " )
0 commit comments