diff --git a/tests/ui_tests/reporting/common.py b/tests/ui_tests/reporting/common.py index b78e1ab1de..6001d333d9 100644 --- a/tests/ui_tests/reporting/common.py +++ b/tests/ui_tests/reporting/common.py @@ -205,10 +205,12 @@ def _get_unique_differing_screens( master_screens_path = MASTER_CACHE_DIR / master_hash if not master_screens_path.exists(): master_screens_path.mkdir() - try: - download.fetch_recorded(master_hash, master_screens_path) - except RuntimeError as e: - print("WARNING:", e) + # master_hash may be empty, in case of new test + if master_hash: + try: + download.fetch_recorded(master_hash, master_screens_path) + except RuntimeError as e: + print("WARNING:", e) current_screens_path = get_screen_path(test_name) if not current_screens_path: @@ -217,7 +219,10 @@ def _get_unique_differing_screens( # Saving all the images to a common directory # They will be referenced from the HTML files - master_screens, master_hashes = screens_and_hashes(master_screens_path) + if master_hash: + master_screens, master_hashes = screens_and_hashes(master_screens_path) + else: + master_screens, master_hashes = [], [] current_screens, current_hashes = screens_and_hashes(current_screens_path) html.store_images(master_screens, master_hashes) html.store_images(current_screens, current_hashes) diff --git a/tests/ui_tests/reporting/testreport.py b/tests/ui_tests/reporting/testreport.py index 65eec47b23..76d2282cfc 100644 --- a/tests/ui_tests/reporting/testreport.py +++ b/tests/ui_tests/reporting/testreport.py @@ -270,7 +270,10 @@ def _get_current_results() -> FixturesType: def master_diff() -> None: """Creating an HTML page showing all screens differing from master.""" current = _get_current_results() - _removed_tests, _added_tests, diff_tests = get_diff(current) + _removed_tests, added_tests, diff_tests = get_diff(current) + # Enriching the diff tests with the newly added ones (empty master hash) + for key, value in added_tests.items(): + diff_tests[key] = ("", value) generate_master_diff_report(diff_tests, TESTREPORT_PATH)