From ee50e6c534e7848de39d70de8d8f71badbfd6ca1 Mon Sep 17 00:00:00 2001 From: David Arnold Date: Sun, 21 Jan 2024 20:19:26 +0100 Subject: [PATCH] fix: run-tests --module-def as not all doctypes are guaranteed to have test_*.py files --- frappe/test_runner.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/frappe/test_runner.py b/frappe/test_runner.py index 35911269cb..635c2a9c6a 100644 --- a/frappe/test_runner.py +++ b/frappe/test_runner.py @@ -89,9 +89,22 @@ def main( doctype, verbose, tests, force, profile, failfast=failfast, junit_xml_output=junit_xml_output ) elif module_def: - doctypes = frappe.db.get_list( - "DocType", filters={"module": module_def, "istable": 0}, pluck="name" + doctypes = [] + doctypes_ = frappe.get_list( + "DocType", + filters={"module": module_def, "istable": 0}, + fields=["name", "module"], + as_list=True, ) + for doctype, module in doctypes_: + test_module = get_module_name(doctype, module, "test_", app=app) + try: + importlib.import_module(test_module) + except Exception: + pass + else: + doctypes.append(doctype) + ret = run_tests_for_doctype( doctypes, verbose, tests, force, profile, failfast=failfast, junit_xml_output=junit_xml_output )