02b6b1dbf4
* add remaining hydra code for test to run using new parallel test classes and interfaces
* fix return value of Secondary Grid Spacing property test for Grid Entity
* Add `or error_tracer.has_asserts` call for better error catching
* make `Tests.viewport_set` test check a `Report.critical_result()` check instead of `Report.result()` check
* add updates from PR feedback: makes constants for re-used component name strings, move test verifications into the Report() call instead of setting first then calling Report(), use builtin math.isclose function over custom function
* remove after_level_load() and split it into several function calls, add screenshot check, cleanup the GPU script and fix the rendering not displaying by setting global_extra_cmdline_args = []
* fixes the viewport Test check and splits up the helper functions into multiple functions
* add comment for global_extra_cmdline_args update in test and rename the zip file to f'screenshots_{formatted_timestamp}.zip'
Signed-off-by: jromnoa <jromnoa@amazon.com>
Co-authored-by: smurly <scottmur@amazon.com>
44 lines
2.1 KiB
Python
44 lines
2.1 KiB
Python
"""
|
|
Copyright (c) Contributors to the Open 3D Engine Project.
|
|
For complete copyright and license terms please see the LICENSE at the root of this distribution.
|
|
|
|
SPDX-License-Identifier: Apache-2.0 OR MIT
|
|
"""
|
|
import os
|
|
|
|
import pytest
|
|
|
|
import ly_test_tools.environment.file_system as file_system
|
|
from ly_test_tools.o3de.editor_test import EditorSharedTest, EditorTestSuite
|
|
from ly_test_tools.image.screenshot_compare_qssim import qssim as compare_screenshots
|
|
from .atom_utils.atom_component_helper import create_screenshots_archive, golden_images_directory
|
|
|
|
DEFAULT_SUBFOLDER_PATH = 'user/PythonTests/Automated/Screenshots'
|
|
|
|
|
|
@pytest.mark.xfail(reason="Optimized tests are experimental, we will enable xfail and monitor them temporarily.")
|
|
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
|
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
|
class TestAutomation(EditorTestSuite):
|
|
# Remove -autotest_mode from global_extra_cmdline_args since we need rendering for these tests.
|
|
global_extra_cmdline_args = ["-BatchMode"] # Default is ["-BatchMode", "-autotest_mode"]
|
|
|
|
class AtomGPU_BasicLevelSetup_SetsUpLevel(EditorSharedTest):
|
|
use_null_renderer = False # Default is True
|
|
screenshot_name = "AtomBasicLevelSetup.ppm"
|
|
test_screenshots = [] # Gets set by setup()
|
|
screenshot_directory = "" # Gets set by setup()
|
|
|
|
# Clear existing test screenshots before starting test.
|
|
def setup(self, workspace):
|
|
screenshot_directory = os.path.join(workspace.paths.project(), DEFAULT_SUBFOLDER_PATH)
|
|
test_screenshots = [os.path.join(screenshot_directory, self.screenshot_name)]
|
|
file_system.delete(test_screenshots, True, True)
|
|
|
|
from Atom.tests import hydra_AtomGPU_BasicLevelSetup as test_module
|
|
|
|
golden_images = [os.path.join(golden_images_directory(), screenshot_name)]
|
|
for test_screenshot, golden_screenshot in zip(test_screenshots, golden_images):
|
|
compare_screenshots(test_screenshot, golden_screenshot)
|
|
create_screenshots_archive(screenshot_directory)
|