Parcourir la source

remove test_suites directory, add RHI values for tests as a parameter instead of separate scripts, update CMake to target specific .py files and not directories, add comments inside the lua scripts decribing the suite definitions and expectations of the tests

jromnoa il y a 4 ans
Parent
commit
5152bd2802

+ 10 - 20
Standalone/PythonTests/Automated/test_suites/main/test_AtomSampleViewer_main_dx12.py → Standalone/PythonTests/Automated/test_AtomSampleViewer_main_suite.py

@@ -11,15 +11,12 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 import logging
 import os
 import subprocess
-import types
 
 import pytest
 
 import ly_test_tools.environment.process_utils as process_utils
 import ly_test_tools.launchers.platforms.base
-import ly_test_tools.log.log_monitor
 
-RENDER_HARDWARE_INTERFACE = 'dx12'
 logger = logging.getLogger(__name__)
 
 
@@ -30,38 +27,30 @@ class AtomSampleViewerException(Exception):
 
 @pytest.mark.parametrize('launcher_platform', ['windows'])
 @pytest.mark.parametrize("project", ["AtomSampleViewer"])
[email protected]("clean_atomsampleviewer_logs")
[email protected]('rhi', ['dx12', 'vulkan'])
[email protected]("clean_atomsampleviewer_logs", "atomsampleviewer_log_monitor")
 class TestDX12AutomationMainSuite:
 
-    @pytest.mark.test_case_id('C35638245')
-    def test_C35638245_dx12_CullingAndLod(self, request, workspace, launcher_platform):
+    def test_dx12_MainTestSuite(self, request, workspace, launcher_platform, rhi, atomsampleviewer_log_monitor):
         # Script call setup.
-        test_script = 'CullingAndLod.bv.luac'
+        test_script = '_MainTestSuite_.bv.lua'
         cmd = os.path.join(workspace.paths.build_directory(),
                            'AtomSampleViewerStandalone.exe '
                            f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
+                           f'--rhi {rhi} '
                            f'--runtestsuite scripts/{test_script} '
                            '--exitontestend')
 
         def teardown():
             process_utils.kill_processes_named(['AssetProcessor', 'AtomSampleViewerStandalone'], ignore_extensions=True)
-
         request.addfinalizer(teardown)
 
-        # Log monitor setup.
-        def is_alive(launcher_name):
-            return True
-        launcher = ly_test_tools.launchers.platforms.base.Launcher(workspace, [])  # Needed for log monitor to work.
-        launcher.is_alive = types.MethodType(is_alive, launcher)
-        file_to_monitor = os.path.join(workspace.paths.project_log(), 'atomsampleviewer.log')
-        log_monitor = ly_test_tools.log.log_monitor.LogMonitor(launcher=launcher, log_file_path=file_to_monitor)
-
         # Execute test.
         process_utils.safe_check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
         try:
             unexpected_lines = ["Script: Screenshot check failed. Diff score"]  # "Diff score" ensures legit failure.
-            log_monitor.monitor_log_for_lines(unexpected_lines=unexpected_lines, halt_on_unexpected=True, timeout=5)
+            atomsampleviewer_log_monitor.monitor_log_for_lines(
+                unexpected_lines=unexpected_lines, halt_on_unexpected=True, timeout=5)
         except ly_test_tools.log.log_monitor.LogMonitorException as e:
             expected_screenshots_path = os.path.join(
                 workspace.paths.engine_root(), "AtomSampleViewer", "Scripts", "ExpectedScreenshots")
@@ -69,7 +58,8 @@ class TestDX12AutomationMainSuite:
                 workspace.paths.project(), "user", "Scripts", "Screenshots")
             raise AtomSampleViewerException(
                 f"Got error: {e}\n"
-                "Screenshot comparison check failed. Please review logs and screenshots at:\n"
-                f"Log file: {file_to_monitor}\n"
+                f"Screenshot comparison check failed using Render Hardware Interface (RHI): '{rhi}'\n"
+                "Please review logs and screenshots at:\n"
+                f"Log file: {atomsampleviewer_log_monitor.file_to_monitor}\n"
                 f"Expected screenshots: {expected_screenshots_path}\n"
                 f"Test screenshots: {test_screenshots_path}\n")

+ 65 - 0
Standalone/PythonTests/Automated/test_AtomSampleViewer_periodic_suite.py

@@ -0,0 +1,65 @@
+"""
+All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
+its licensors.
+
+For complete copyright and license terms please see the LICENSE at the root of this
+distribution (the "License"). All use of this software is governed by the License,
+or, if provided, by the license below or the license accompanying this file. Do not
+remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+"""
+import logging
+import os
+import subprocess
+
+import pytest
+
+import ly_test_tools.environment.process_utils as process_utils
+import ly_test_tools.launchers.platforms.base
+
+logger = logging.getLogger(__name__)
+
+
+class AtomSampleViewerException(Exception):
+    """Custom Exception class for AtomSampleViewer tests."""
+    pass
+
+
[email protected]('launcher_platform', ['windows'])
[email protected]("project", ["AtomSampleViewer"])
[email protected]('rhi', ['dx12', 'vulkan'])
[email protected]("clean_atomsampleviewer_logs", "atomsampleviewer_log_monitor")
+class TestDX12AutomationPeriodicSuite:
+
+    def test_dx12_PeriodicTestSuite(self, request, workspace, launcher_platform, rhi, atomsampleviewer_log_monitor):
+        # Script call setup.
+        test_script = '_FullTestSuite_.bv.lua'
+        cmd = os.path.join(workspace.paths.build_directory(),
+                           'AtomSampleViewerStandalone.exe '
+                           f'--project-path={workspace.paths.project()} '
+                           f'--rhi {rhi} '
+                           f'--runtestsuite scripts/{test_script} '
+                           '--exitontestend')
+
+        def teardown():
+            process_utils.kill_processes_named(['AssetProcessor', 'AtomSampleViewerStandalone'], ignore_extensions=True)
+        request.addfinalizer(teardown)
+
+        # Execute test.
+        process_utils.safe_check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
+        try:
+            unexpected_lines = ["Script: Screenshot check failed. Diff score"]  # "Diff score" ensures legit failure.
+            atomsampleviewer_log_monitor.monitor_log_for_lines(
+                unexpected_lines=unexpected_lines, halt_on_unexpected=True, timeout=5)
+        except ly_test_tools.log.log_monitor.LogMonitorException as e:
+            expected_screenshots_path = os.path.join(
+                workspace.paths.engine_root(), "AtomSampleViewer", "Scripts", "ExpectedScreenshots")
+            test_screenshots_path = os.path.join(
+                workspace.paths.project(), "user", "Scripts", "Screenshots")
+            raise AtomSampleViewerException(
+                f"Got error: {e}\n"
+                f"Screenshot comparison check failed using Render Hardware Interface (RHI): '{rhi}'\n"
+                "Please review logs and screenshots at:\n"
+                f"Log file: {atomsampleviewer_log_monitor.file_to_monitor}\n"
+                f"Expected screenshots: {expected_screenshots_path}\n"
+                f"Test screenshots: {test_screenshots_path}\n")

+ 0 - 10
Standalone/PythonTests/Automated/test_suites/main/__init__.py

@@ -1,10 +0,0 @@
-"""
-All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-its licensors.
-
-For complete copyright and license terms please see the LICENSE at the root of this
-distribution (the "License"). All use of this software is governed by the License,
-or, if provided, by the license below or the license accompanying this file. Do not
-remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-"""

+ 0 - 10
Standalone/PythonTests/Automated/test_suites/periodic/__init__.py

@@ -1,10 +0,0 @@
-"""
-All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-its licensors.
-
-For complete copyright and license terms please see the LICENSE at the root of this
-distribution (the "License"). All use of this software is governed by the License,
-or, if provided, by the license below or the license accompanying this file. Do not
-remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-"""

+ 0 - 49
Standalone/PythonTests/Automated/test_suites/periodic/test_AtomSampleViewer_main_vulkan.py

@@ -1,49 +0,0 @@
-"""
-All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-its licensors.
-
-For complete copyright and license terms please see the LICENSE at the root of this
-distribution (the "License"). All use of this software is governed by the License,
-or, if provided, by the license below or the license accompanying this file. Do not
-remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-"""
-import logging
-import os
-import subprocess
-
-import pytest
-
-import ly_test_tools.environment.process_utils as process_utils
-
-RENDER_HARDWARE_INTERFACE = 'vulkan'
-logger = logging.getLogger(__name__)
-
-
-def teardown():
-    process_utils.kill_processes_named(['AssetProcessor', 'AtomSampleViewerStandalone'], ignore_extensions=True)
-
-
[email protected]('launcher_platform', ['windows'])
[email protected]("project", ["AtomSampleViewer"])
[email protected]("clean_atomsampleviewer_logs")
-class TestVulkanAutomationMainSuite:
-
-    @pytest.mark.test_case_id('C35638265')
-    def test_C35638265_vulkan_CullingAndLod(self, request, workspace, editor, launcher_platform):
-        test_script = 'CullingAndLod.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e

+ 0 - 392
Standalone/PythonTests/Automated/test_suites/periodic/test_AtomSampleViewer_periodic_dx12.py

@@ -1,392 +0,0 @@
-"""
-All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-its licensors.
-
-For complete copyright and license terms please see the LICENSE at the root of this
-distribution (the "License"). All use of this software is governed by the License,
-or, if provided, by the license below or the license accompanying this file. Do not
-remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-"""
-
-import logging
-import os
-import subprocess
-
-import pytest
-
-import ly_test_tools.environment.process_utils as process_utils
-
-RENDER_HARDWARE_INTERFACE = 'dx12'
-logger = logging.getLogger(__name__)
-
-
-def teardown():
-    process_utils.kill_processes_named(['AssetProcessor', 'AtomSampleViewerStandalone'], ignore_extensions=True)
-
-
[email protected]('launcher_platform', ['windows'])
[email protected]("project", ["AtomSampleViewer"])
[email protected]("clean_atomsampleviewer_logs")
-class TestDX12AutomationPeriodicSuite:
-
-    @pytest.mark.test_case_id('C35638262')
-    def test_C35638262_dx12_FullTestSuite(self, request, workspace, editor, launcher_platform):
-        test_script = '_FullTestSuite.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638243')
-    def test_C35638243_dx12_AreaLightTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'AreaLightTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638244')
-    def test_C35638244_dx12_CheckerboardTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'CheckerboardTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638246')
-    def test_C35638246_dx12_Decals(self, request, workspace, editor, launcher_platform):
-        test_script = 'Decals.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638247')
-    def test_C35638247_dx12_DiffuseGITest(self, request, workspace, editor, launcher_platform):
-        test_script = 'DiffuseGITest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638248')
-    def test_C35638248_dx12_DynamicDraw(self, request, workspace, editor, launcher_platform):
-        test_script = 'DynamicDraw.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638249')
-    def test_C35638249_dx12_DynamicMaterialTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'DynamicMaterialTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638250')
-    def test_C35638250_dx12_LightCulling(self, request, workspace, editor, launcher_platform):
-        test_script = 'LightCulling.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638251')
-    def test_C35638251_dx12_MaterialHotReloadTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'MaterialHotReloadTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638252')
-    def test_C35638252_dx12_MaterialScreenshotTests(self, request, workspace, editor, launcher_platform):
-        test_script = 'MaterialScreenshotTests.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638253')
-    def test_C35638253_dx12_MSAA_RPI_Test(self, request, workspace, editor, launcher_platform):
-        test_script = 'MSAA_RPI_Test.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638254')
-    def test_C35638254_dx12_MultiRenderPipeline(self, request, workspace, editor, launcher_platform):
-        test_script = 'MultiRenderPipeline.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638255')
-    def test_C35638255_dx12_MultiScene(self, request, workspace, editor, launcher_platform):
-        test_script = 'MultiScene.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638256')
-    def test_C35638256_dx12_ParallaxTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'ParallaxTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638257')
-    def test_C35638257_dx12_SceneReloadSoakTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'SceneReloadSoakTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638258')
-    def test_C35638258_dx12_ShadowedBistroTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'ShadowedBistroTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638259')
-    def test_C35638259_dx12_ShadowTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'ShadowTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638260')
-    def test_C35638260_dx12_StreamingImageTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'StreamingImageTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638261')
-    def test_C35638261_dx12_TransparentTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'TransparentTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e

+ 0 - 392
Standalone/PythonTests/Automated/test_suites/periodic/test_AtomSampleViewer_periodic_vulkan.py

@@ -1,392 +0,0 @@
-"""
-All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-its licensors.
-
-For complete copyright and license terms please see the LICENSE at the root of this
-distribution (the "License"). All use of this software is governed by the License,
-or, if provided, by the license below or the license accompanying this file. Do not
-remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-"""
-
-import logging
-import os
-import subprocess
-
-import pytest
-
-import ly_test_tools.environment.process_utils as process_utils
-
-RENDER_HARDWARE_INTERFACE = 'vulkan'
-logger = logging.getLogger(__name__)
-
-
-def teardown():
-    process_utils.kill_processes_named(['AssetProcessor', 'AtomSampleViewerStandalone'], ignore_extensions=True)
-
-
[email protected]('launcher_platform', ['windows'])
[email protected]("project", ["AtomSampleViewer"])
[email protected]("clean_atomsampleviewer_logs")
-class TestVulkanAutomationPeriodicSuite:
-
-    @pytest.mark.test_case_id('C35638262')
-    def test_C35638262_vulkan_FullTestSuite(self, request, workspace, editor, launcher_platform):
-        test_script = '_FullTestSuite.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638263')
-    def test_C35638263_vulkan_AreaLightTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'AreaLightTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638264')
-    def test_C35638264_vulkan_CheckerboardTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'CheckerboardTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638266')
-    def test_C35638266_vulkan_Decals(self, request, workspace, editor, launcher_platform):
-        test_script = 'Decals.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638267')
-    def test_C35638267_vulkan_DiffuseGITest(self, request, workspace, editor, launcher_platform):
-        test_script = 'DiffuseGITest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638268')
-    def test_C35638268_vulkan_DynamicDraw(self, request, workspace, editor, launcher_platform):
-        test_script = 'DynamicDraw.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638269')
-    def test_C35638269_vulkan_DynamicMaterialTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'DynamicMaterialTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638270')
-    def test_C35638270_vulkan_LightCulling(self, request, workspace, editor, launcher_platform):
-        test_script = 'LightCulling.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638271')
-    def test_C35638271_vulkan_MaterialHotReloadTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'MaterialHotReloadTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638272')
-    def test_C35638272_vulkan_MaterialScreenshotTests(self, request, workspace, editor, launcher_platform):
-        test_script = 'MaterialScreenshotTests.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638273')
-    def test_C35638273_vulkan_MSAA_RPI_Test(self, request, workspace, editor, launcher_platform):
-        test_script = 'MSAA_RPI_Test.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638274')
-    def test_C35638274_vulkan_MultiRenderPipeline(self, request, workspace, editor, launcher_platform):
-        test_script = 'MultiRenderPipeline.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638275')
-    def test_C35638275_vulkan_MultiScene(self, request, workspace, editor, launcher_platform):
-        test_script = 'MultiScene.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638276')
-    def test_C35638276_vulkan_ParallaxTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'ParallaxTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638277')
-    def test_C35638277_vulkan_SceneReloadSoakTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'SceneReloadSoakTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638278')
-    def test_C35638278_vulkan_ShadowedBistroTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'ShadowedBistroTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638279')
-    def test_C35638279_vulkan_ShadowTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'ShadowTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638280')
-    def test_C35638280_vulkan_StreamingImageTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'StreamingImageTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e
-
-    @pytest.mark.test_case_id('C35638281')
-    def test_C35638281_vulkan_TransparentTest(self, request, workspace, editor, launcher_platform):
-        test_script = 'TransparentTest.bv.luac'
-        cmd = os.path.join(workspace.paths.build_directory(),
-                           'AtomSampleViewerStandalone.exe '
-                           f'--project-path={workspace.paths.project()} '
-                           f'--rhi {RENDER_HARDWARE_INTERFACE} '
-                           f'--runtestsuite scripts/{test_script} '
-                           '--exitontestend')
-        request.addfinalizer(teardown)
-
-        try:
-            return_code = process_utils.check_call(cmd, stderr=subprocess.STDOUT, encoding='UTF-8', shell=True)
-            logger.debug(f"AtomSampleViewer {test_script} test command got response return code : {return_code}")
-            assert return_code == 0
-        except subprocess.CalledProcessError as e:
-            logger.error(f'AtomSampleViewer lua test "{test_script}" had a failure.\n')
-            raise e

+ 0 - 10
Standalone/PythonTests/Automated/test_suites/smoke/__init__.py

@@ -1,10 +0,0 @@
-"""
-All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-its licensors.
-
-For complete copyright and license terms please see the LICENSE at the root of this
-distribution (the "License"). All use of this software is governed by the License,
-or, if provided, by the license below or the license accompanying this file. Do not
-remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-"""

+ 0 - 12
Standalone/PythonTests/Automated/test_suites/smoke/test_AtomSampleViewer_smoke_dx12.py

@@ -1,12 +0,0 @@
-"""
-All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-its licensors.
-
-For complete copyright and license terms please see the LICENSE at the root of this
-distribution (the "License"). All use of this software is governed by the License,
-or, if provided, by the license below or the license accompanying this file. Do not
-remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-"""
-
-# To be determined.

+ 0 - 12
Standalone/PythonTests/Automated/test_suites/smoke/test_AtomSampleViewer_smoke_vulkan.py

@@ -1,12 +0,0 @@
-"""
-All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
-its licensors.
-
-For complete copyright and license terms please see the LICENSE at the root of this
-distribution (the "License"). All use of this software is governed by the License,
-or, if provided, by the license below or the license accompanying this file. Do not
-remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-"""
-
-# To be determined.

+ 4 - 5
Standalone/PythonTests/CMakeLists.txt

@@ -11,13 +11,12 @@
 
 ################################################################################
 # Automated Tests
-# Tests are not in their final/desired suites yet - see ATOM-14520
 ################################################################################
 
 if(PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_BUILD_TESTS_SUPPORTED)
     ly_add_pytest(
-        NAME AtomSampleViewer::PythonTestsMain
-        PATH ${CMAKE_CURRENT_LIST_DIR}/Automated/test_suites/main/
+        NAME AtomSampleViewer::PythonMainTests
+        PATH ${CMAKE_CURRENT_LIST_DIR}/Automated/test_AtomSampleViewer_main_suite.py
         TEST_REQUIRES gpu
         TEST_SUITE main
         TEST_SERIAL
@@ -30,8 +29,8 @@ if(PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_BUILD_TESTS_SUPPORTED)
             AtomSampleViewer.Assets
     )
     ly_add_pytest(
-        NAME AtomSampleViewer::PythonTestsMainPeriodic
-        PATH ${CMAKE_CURRENT_LIST_DIR}/Automated/test_suites/periodic/
+        NAME AtomSampleViewer::PythonPeriodicTests
+        PATH ${CMAKE_CURRENT_LIST_DIR}/Automated/test_AtomSampleViewer_periodic_suite.py
         TEST_REQUIRES gpu
         TEST_SUITE periodic
         TEST_SERIAL

+ 16 - 0
Standalone/PythonTests/conftest.py

@@ -13,11 +13,13 @@ pytest test configuration file for launching AtomSampleViewerStandalone tests.
 
 import logging
 import os
+import types
 
 import pytest
 
 import ly_test_tools.builtin.helpers as helpers
 import ly_test_tools.environment.file_system as file_system
+import ly_test_tools.log.log_monitor
 
 logger = logging.getLogger(__name__)
 
@@ -35,3 +37,17 @@ def clean_atomsampleviewer_logs(request, workspace):
                                del_files=True,
                                del_dirs=False)
 
+
[email protected](scope="function", autouse=True)
+def atomsampleviewer_log_monitor(request, workspace):
+    """Creates a LyTestTools log monitor object for monitoring AtomSampleViewer logs."""
+    def is_alive(launcher_name):
+        return True
+
+    launcher = ly_test_tools.launchers.platforms.base.Launcher(workspace, [])  # Needed for log monitor to work.
+    launcher.is_alive = types.MethodType(is_alive, launcher)
+    file_to_monitor = os.path.join(workspace.paths.project_log(), 'atomsampleviewer.log')
+    log_monitor = ly_test_tools.log.log_monitor.LogMonitor(launcher=launcher, log_file_path=file_to_monitor)
+    log_monitor.file_to_monitor = file_to_monitor
+
+    return log_monitor