Integrating latest 47acbe8
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
"""
|
||||
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.
|
||||
"""
|
||||
|
||||
#
|
||||
# This is a pytest module to test the in-Editor Python API from EditorLevelComponentAPIBus
|
||||
#
|
||||
import pytest
|
||||
pytest.importorskip('test_tools')
|
||||
import time
|
||||
import logging
|
||||
import os
|
||||
import shutil
|
||||
|
||||
from test_tools import WINDOWS_LAUNCHER
|
||||
import test_tools.shared.log_monitor
|
||||
import test_tools.launchers.phase
|
||||
import test_tools.builtin.fixtures as fixtures
|
||||
|
||||
import shared.file_utils as file_utils
|
||||
|
||||
# Use the built-in workspace and editor fixtures.
|
||||
# These will configure the requested project and run the editor.
|
||||
workspace = fixtures.use_fixture(fixtures.builtin_workspace_fixture, scope='function')
|
||||
editor = fixtures.use_fixture(fixtures.editor, scope='function')
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("platform,configuration,project,spec", [
|
||||
pytest.param("win_x64_vs2017", "profile", "AutomatedTesting", "all", marks=pytest.mark.skipif(not WINDOWS_LAUNCHER, reason="Only supported on Windows hosts")),
|
||||
])
|
||||
class TestLevelComponentAutomation(object):
|
||||
@pytest.fixture(autouse=True)
|
||||
def setup_teardown(self, request, workspace, editor):
|
||||
def teardown():
|
||||
editor.ensure_stopped()
|
||||
file_utils.delete_level(editor, "LevelComponentTest")
|
||||
|
||||
request.addfinalizer(teardown)
|
||||
|
||||
def test_Component(self, request, editor, project):
|
||||
logger.debug("Running automated test")
|
||||
|
||||
request.addfinalizer(editor.ensure_stopped)
|
||||
|
||||
editor.deploy()
|
||||
editor.launch(["--exec", "@engroot@/Tests/hydra/LevelComponentCommands.cfg"])
|
||||
|
||||
editorlog_file = os.path.join(editor.workspace.release.paths.project_log(), 'Editor.log')
|
||||
|
||||
expected_lines = [
|
||||
"Component List returned correctly",
|
||||
"Type Ids List returned correctly",
|
||||
"Type Names List returned correctly",
|
||||
"Level Component API validated"
|
||||
]
|
||||
|
||||
test_tools.shared.log_monitor.monitor_for_expected_lines(editor, editorlog_file, expected_lines)
|
||||
|
||||
# Rely on the test script to quit after running
|
||||
editor.run(test_tools.launchers.phase.WaitForLauncherToQuit(editor, 10))
|
||||
Reference in New Issue
Block a user