From bbf45aa9140d737675b7bb74a11174fb35497a98 Mon Sep 17 00:00:00 2001 From: Saurabh Date: Thu, 19 Jul 2018 13:13:45 +0530 Subject: [PATCH 1/4] Update hooks.py --- frappe/hooks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/hooks.py b/frappe/hooks.py index 4562251cd4..91c9be3af7 100755 --- a/frappe/hooks.py +++ b/frappe/hooks.py @@ -12,7 +12,7 @@ source_link = "https://github.com/frappe/frappe" app_license = "MIT" develop_version = '11.x.x-develop' -staging_version = '11.x.x-staging' +staging_version = '11.0.0-beta' app_email = "info@frappe.io" From 861ebe9046f8dd92f0f7aa305e19e1d1ca28fef6 Mon Sep 17 00:00:00 2001 From: Ameya Shenoy Date: Tue, 31 Jul 2018 12:56:38 +0530 Subject: [PATCH 2/4] report_name need not be unique (#5885) --- frappe/core/doctype/report/report.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frappe/core/doctype/report/report.json b/frappe/core/doctype/report/report.json index 9c031df703..ce7b4b7d51 100644 --- a/frappe/core/doctype/report/report.json +++ b/frappe/core/doctype/report/report.json @@ -42,7 +42,7 @@ "search_index": 0, "set_only_once": 0, "translatable": 0, - "unique": 1 + "unique": 0 }, { "allow_bulk_edit": 0, @@ -600,7 +600,7 @@ "issingle": 0, "istable": 0, "max_attachments": 0, - "modified": "2018-06-26 14:48:49.989952", + "modified": "2018-06-27 14:48:49.989952", "modified_by": "Administrator", "module": "Core", "name": "Report", From 98ba2f958a16a711fce82476561430cd1b511a82 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 6 Sep 2018 12:18:01 +0530 Subject: [PATCH 3/4] feat(test runner): break run-tests on first error --- frappe/commands/utils.py | 6 ++++-- frappe/test_runner.py | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/frappe/commands/utils.py b/frappe/commands/utils.py index 5c254040a8..0d955d58fd 100644 --- a/frappe/commands/utils.py +++ b/frappe/commands/utils.py @@ -379,10 +379,12 @@ def console(context): @click.option('--skip-test-records', is_flag=True, default=False, help="Don't create test records") @click.option('--skip-before-tests', is_flag=True, default=False, help="Don't run before tests hook") @click.option('--junit-xml-output', help="Destination file path for junit xml report") +@click.option('--failfast', is_flag=True, default=False) @pass_context def run_tests(context, app=None, module=None, doctype=None, test=(), driver=None, profile=False, coverage=False, junit_xml_output=False, ui_tests = False, - doctype_list_path=None, skip_test_records=False, skip_before_tests=False): + doctype_list_path=None, skip_test_records=False, skip_before_tests=False, failfast=False): + "Run tests" import frappe.test_runner tests = test @@ -401,7 +403,7 @@ def run_tests(context, app=None, module=None, doctype=None, test=(), ret = frappe.test_runner.main(app, module, doctype, context.verbose, tests=tests, force=context.force, profile=profile, junit_xml_output=junit_xml_output, - ui_tests = ui_tests, doctype_list_path = doctype_list_path) + ui_tests = ui_tests, doctype_list_path = doctype_list_path, failfast=failfast) if coverage: cov.stop() diff --git a/frappe/test_runner.py b/frappe/test_runner.py index 29fbb2f649..6ee25a86db 100644 --- a/frappe/test_runner.py +++ b/frappe/test_runner.py @@ -26,7 +26,7 @@ def xmlrunner_wrapper(output): def main(app=None, module=None, doctype=None, verbose=False, tests=(), force=False, profile=False, junit_xml_output=None, ui_tests=False, - doctype_list_path=None, skip_test_records=False): + doctype_list_path=None, skip_test_records=False, failfast=False): global unittest_runner if doctype_list_path: @@ -67,7 +67,7 @@ def main(app=None, module=None, doctype=None, verbose=False, tests=(), elif module: ret = run_tests_for_module(module, verbose, tests, profile) else: - ret = run_all_tests(app, verbose, profile, ui_tests) + ret = run_all_tests(app, verbose, profile, ui_tests, failfast=failfast) frappe.db.commit() @@ -90,7 +90,7 @@ def set_test_email_config(): "admin_password": "admin" }) -def run_all_tests(app=None, verbose=False, profile=False, ui_tests=False): +def run_all_tests(app=None, verbose=False, profile=False, ui_tests=False, failfast=False): import os apps = [app] if app else frappe.get_installed_apps() @@ -115,7 +115,7 @@ def run_all_tests(app=None, verbose=False, profile=False, ui_tests=False): pr = cProfile.Profile() pr.enable() - out = unittest_runner(verbosity=1+(verbose and 1 or 0)).run(test_suite) + out = unittest_runner(verbosity=1+(verbose and 1 or 0), failfast=failfast).run(test_suite) if profile: pr.disable() From 37295623580c63db8c354c56c6e2a7dd3cd373f9 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 6 Sep 2018 12:18:01 +0530 Subject: [PATCH 4/4] feat(test runner): break run-tests on first error --- frappe/commands/utils.py | 6 ++++-- frappe/test_runner.py | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/frappe/commands/utils.py b/frappe/commands/utils.py index 5c254040a8..0d955d58fd 100644 --- a/frappe/commands/utils.py +++ b/frappe/commands/utils.py @@ -379,10 +379,12 @@ def console(context): @click.option('--skip-test-records', is_flag=True, default=False, help="Don't create test records") @click.option('--skip-before-tests', is_flag=True, default=False, help="Don't run before tests hook") @click.option('--junit-xml-output', help="Destination file path for junit xml report") +@click.option('--failfast', is_flag=True, default=False) @pass_context def run_tests(context, app=None, module=None, doctype=None, test=(), driver=None, profile=False, coverage=False, junit_xml_output=False, ui_tests = False, - doctype_list_path=None, skip_test_records=False, skip_before_tests=False): + doctype_list_path=None, skip_test_records=False, skip_before_tests=False, failfast=False): + "Run tests" import frappe.test_runner tests = test @@ -401,7 +403,7 @@ def run_tests(context, app=None, module=None, doctype=None, test=(), ret = frappe.test_runner.main(app, module, doctype, context.verbose, tests=tests, force=context.force, profile=profile, junit_xml_output=junit_xml_output, - ui_tests = ui_tests, doctype_list_path = doctype_list_path) + ui_tests = ui_tests, doctype_list_path = doctype_list_path, failfast=failfast) if coverage: cov.stop() diff --git a/frappe/test_runner.py b/frappe/test_runner.py index 29fbb2f649..6ee25a86db 100644 --- a/frappe/test_runner.py +++ b/frappe/test_runner.py @@ -26,7 +26,7 @@ def xmlrunner_wrapper(output): def main(app=None, module=None, doctype=None, verbose=False, tests=(), force=False, profile=False, junit_xml_output=None, ui_tests=False, - doctype_list_path=None, skip_test_records=False): + doctype_list_path=None, skip_test_records=False, failfast=False): global unittest_runner if doctype_list_path: @@ -67,7 +67,7 @@ def main(app=None, module=None, doctype=None, verbose=False, tests=(), elif module: ret = run_tests_for_module(module, verbose, tests, profile) else: - ret = run_all_tests(app, verbose, profile, ui_tests) + ret = run_all_tests(app, verbose, profile, ui_tests, failfast=failfast) frappe.db.commit() @@ -90,7 +90,7 @@ def set_test_email_config(): "admin_password": "admin" }) -def run_all_tests(app=None, verbose=False, profile=False, ui_tests=False): +def run_all_tests(app=None, verbose=False, profile=False, ui_tests=False, failfast=False): import os apps = [app] if app else frappe.get_installed_apps() @@ -115,7 +115,7 @@ def run_all_tests(app=None, verbose=False, profile=False, ui_tests=False): pr = cProfile.Profile() pr.enable() - out = unittest_runner(verbosity=1+(verbose and 1 or 0)).run(test_suite) + out = unittest_runner(verbosity=1+(verbose and 1 or 0), failfast=failfast).run(test_suite) if profile: pr.disable()