Merge remote-tracking branch 'origin/main' into Atom/santorac/NewLayeringWorkflow
This commit is contained in:
+8
-1
@@ -115,5 +115,12 @@
|
||||
*.wav filter=lfs diff=lfs merge=lfs -text
|
||||
*.webm filter=lfs diff=lfs merge=lfs -text
|
||||
*.wem filter=lfs diff=lfs merge=lfs -text
|
||||
*.wxs filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbscene filter=lfs diff=lfs merge=lfs -text
|
||||
*.spp filter=lfs diff=lfs merge=lfs -text
|
||||
Gems/Atom/Tools/MaterialEditor/Assets/MaterialEditor/ViewportModels/Hermanubis.fbx filter=lfs diff=lfs merge=lfs -text
|
||||
Gems/AtomLyIntegration/CommonFeatures/Assets/Objects/Lucy/Lucy_High.fbx filter=lfs diff=lfs merge=lfs -text
|
||||
Gems/AtomLyIntegration/CommonFeatures/Assets/Objects/Lucy/Lucy_low.fbx filter=lfs diff=lfs merge=lfs -text
|
||||
Gems/AtomLyIntegration/CommonFeatures/Assets/Objects/Lucy/.wip/marmoset_bake.tbscene filter=lfs diff=lfs merge=lfs -text
|
||||
Gems/AtomLyIntegration/CommonFeatures/Assets/Objects/Lucy/.wip/Brass/brass_bake.spp filter=lfs diff=lfs merge=lfs -text
|
||||
Gems/AtomLyIntegration/CommonFeatures/Assets/Objects/Lucy/.wip/stone/stone_bake.spp filter=lfs diff=lfs merge=lfs -text
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:45b58009dc2f9340e08cafd5e68f142d15d77e19e7cef142933f2dff3cfb9293
|
||||
size 38352
|
||||
+14
@@ -9,3 +9,17 @@
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
#
|
||||
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::BlastTests
|
||||
TEST_SUITE main
|
||||
TEST_SERIAL TRUE
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Active.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT Blast
|
||||
)
|
||||
endif()
|
||||
@@ -15,388 +15,46 @@
|
||||
|
||||
ly_get_list_relative_pal_filename(pal_dir ${CMAKE_CURRENT_LIST_DIR}/Platform/${PAL_PLATFORM_NAME})
|
||||
|
||||
include(${pal_dir}/PAL_traits_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
|
||||
|
||||
## Asset pipeline ##
|
||||
add_subdirectory(assetpipeline)
|
||||
|
||||
## Atom Renderer ##
|
||||
add_subdirectory(atom_renderer)
|
||||
|
||||
## Physics ##
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::PhysicsTests_Main
|
||||
TEST_SUITE main
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/physics/TestSuite_Main.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
Physics
|
||||
)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::PhysicsTests_Periodic
|
||||
TEST_SUITE periodic
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/physics/TestSuite_Periodic.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
Physics
|
||||
)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::PhysicsTests_Sandbox
|
||||
TEST_SUITE sandbox
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/physics/TestSuite_Sandbox.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
Physics
|
||||
)
|
||||
endif()
|
||||
add_subdirectory(physics)
|
||||
|
||||
## ScriptCanvas ##
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::ScriptCanvasTests
|
||||
TEST_SUITE periodic
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/scripting/TestSuite_Active.py
|
||||
TIMEOUT 3000
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
ScriptCanvas
|
||||
)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::ScriptCanvasTests_Sandbox
|
||||
TEST_SUITE sandbox
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/scripting/TestSuite_Sandbox.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
)
|
||||
endif()
|
||||
add_subdirectory(scripting)
|
||||
|
||||
## White Box ##
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::WhiteBoxTests
|
||||
TEST_SUITE main
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/WhiteBox/TestSuite_Active.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
WhiteBox
|
||||
)
|
||||
endif()
|
||||
add_subdirectory(WhiteBox)
|
||||
|
||||
## NvCloth ##
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::NvClothTests_Main
|
||||
TEST_SUITE main
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/NvCloth/TestSuite_Active.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
NvCloth
|
||||
)
|
||||
endif()
|
||||
add_subdirectory(NvCloth)
|
||||
|
||||
## Prefab ##
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::PrefabTests
|
||||
TEST_SUITE main
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/prefab/TestSuite_Main.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
)
|
||||
endif()
|
||||
add_subdirectory(prefab)
|
||||
|
||||
## Editor Python Bindings ##
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::EditorPythonBindings
|
||||
TEST_SUITE sandbox
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/EditorPythonBindings
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
Gem::EditorPythonBindings.Editor
|
||||
COMPONENT TestTools
|
||||
)
|
||||
endif()
|
||||
add_subdirectory(EditorPythonBindings)
|
||||
|
||||
## Python Asset Builder ##
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::PythonAssetBuilder
|
||||
TEST_SUITE periodic
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/PythonAssetBuilder
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
Gem::EditorPythonBindings.Editor
|
||||
Gem::PythonAssetBuilder.Editor
|
||||
COMPONENT TestTools
|
||||
)
|
||||
endif()
|
||||
add_subdirectory(PythonAssetBuilder)
|
||||
|
||||
## Blast ##
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::BlastTests
|
||||
TEST_SUITE main
|
||||
TEST_SERIAL TRUE
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/Blast/TestSuite_Active.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT Blast
|
||||
)
|
||||
endif()
|
||||
|
||||
#############
|
||||
add_subdirectory(Blast)
|
||||
|
||||
## Large Worlds ##
|
||||
|
||||
include(${pal_dir}/PAL_traits_${PAL_PLATFORM_NAME_LOWERCASE}.cmake)
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_LARGE_WORLDS_TEST_SUPPORTED)
|
||||
|
||||
## DynVeg ##
|
||||
# Temporarily moving all tests to periodic suite - SPEC-6553
|
||||
#ly_add_pytest(
|
||||
# NAME AutomatedTesting::DynamicVegetationTests_Main
|
||||
# TEST_SERIAL
|
||||
# TEST_SUITE main
|
||||
# PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||
# PYTEST_MARKS "not SUITE_sandbox and not SUITE_periodic and not SUITE_benchmark"
|
||||
# TIMEOUT 1500
|
||||
# RUNTIME_DEPENDENCIES
|
||||
# AZ::AssetProcessor
|
||||
# Legacy::Editor
|
||||
# AutomatedTesting.GameLauncher
|
||||
# AutomatedTesting.Assets
|
||||
# COMPONENT
|
||||
# LargeWorlds
|
||||
#)
|
||||
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::DynamicVegetationTests_Sandbox
|
||||
TEST_SERIAL
|
||||
TEST_SUITE sandbox
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||
PYTEST_MARKS "SUITE_sandbox"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.GameLauncher
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::DynamicVegetationFilterTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||
PYTEST_MARKS "SUITE_periodic and dynveg_filter"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::DynamicVegetationModifierTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||
PYTEST_MARKS "SUITE_periodic and dynveg_modifier"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::DynamicVegetationRegressionTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||
PYTEST_MARKS "SUITE_periodic and dynveg_regression"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::DynamicVegetationAreaTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||
PYTEST_MARKS "SUITE_periodic and dynveg_area"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::DynamicVegetationMiscTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||
PYTEST_MARKS "SUITE_periodic and dynveg_misc"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::DynamicVegetationSurfaceTagTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/dyn_veg
|
||||
PYTEST_MARKS "SUITE_periodic and dynveg_surfacetagemitter"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
## LandscapeCanvas ##
|
||||
# Temporarily moving all tests to periodic suite - SPEC-6553
|
||||
#ly_add_pytest(
|
||||
# NAME AutomatedTesting::LandscapeCanvasTests_Main
|
||||
# TEST_SERIAL
|
||||
# TEST_SUITE main
|
||||
# PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/landscape_canvas
|
||||
# PYTEST_MARKS "not SUITE_sandbox and not SUITE_periodic and not SUITE_benchmark"
|
||||
# TIMEOUT 1500
|
||||
# RUNTIME_DEPENDENCIES
|
||||
# AZ::AssetProcessor
|
||||
# Legacy::Editor
|
||||
# AutomatedTesting.Assets
|
||||
# COMPONENT
|
||||
# LargeWorlds
|
||||
#)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::LandscapeCanvasTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/landscape_canvas
|
||||
PYTEST_MARKS "SUITE_periodic"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
## GradientSignal ##
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::GradientSignalTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/gradient_signal
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
endif()
|
||||
add_subdirectory(largeworlds)
|
||||
|
||||
## Editor ##
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_FOUNDATION_TEST_SUPPORTED)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::EditorTests_Periodic
|
||||
TEST_SUITE periodic
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/editor
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
Editor
|
||||
)
|
||||
endif()
|
||||
add_subdirectory(editor)
|
||||
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
# Unstable, SPEC-3838 will restore
|
||||
#ly_add_pytest(
|
||||
# NAME AutomatedTesting::asset_load_benchmark_test
|
||||
# TEST_SERIAL
|
||||
# TEST_SUITE benchmark
|
||||
# PATH ${CMAKE_CURRENT_LIST_DIR}/streaming/benchmark/asset_load_benchmark_test.py
|
||||
# RUNTIME_DEPENDENCIES
|
||||
# AZ::AssetProcessor
|
||||
# AZ::AssetProcessorBatch
|
||||
# AutomatedTesting.GameLauncher
|
||||
#)
|
||||
endif()
|
||||
## Streaming ##
|
||||
add_subdirectory(streaming)
|
||||
|
||||
## Streaming ##
|
||||
add_subdirectory(smoke)
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::EditorPythonBindings
|
||||
TEST_SUITE sandbox
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
Gem::EditorPythonBindings.Editor
|
||||
COMPONENT TestTools
|
||||
)
|
||||
endif()
|
||||
-1
@@ -18,7 +18,6 @@ from PySide2 import QtCore, QtWidgets, QtGui, QtTest
|
||||
from PySide2.QtWidgets import QAction, QWidget
|
||||
from PySide2.QtCore import Qt
|
||||
from PySide2.QtTest import QTest
|
||||
import azlmbr.legacy.general as general
|
||||
import traceback
|
||||
import threading
|
||||
import types
|
||||
|
||||
+14
-20
@@ -9,24 +9,18 @@
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
#
|
||||
|
||||
if (NOT PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
return()
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::NvClothTests_Main
|
||||
TEST_SUITE main
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Active.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
NvCloth
|
||||
)
|
||||
endif()
|
||||
ly_add_target(
|
||||
NAME CryXML MODULE
|
||||
NAMESPACE Legacy
|
||||
FILES_CMAKE
|
||||
cryxml_files.cmake
|
||||
INCLUDE_DIRECTORIES
|
||||
PUBLIC
|
||||
.
|
||||
COMPILE_DEFINITIONS
|
||||
PRIVATE
|
||||
CRYTOOLS
|
||||
RESOURCE_COMPILER
|
||||
BUILD_DEPENDENCIES
|
||||
PRIVATE
|
||||
3rdParty::expat
|
||||
Legacy::CryCommon
|
||||
Legacy::CryCommonTools
|
||||
)
|
||||
@@ -0,0 +1,27 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::PythonAssetBuilder
|
||||
TEST_SUITE periodic
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
Gem::EditorPythonBindings.Editor
|
||||
Gem::PythonAssetBuilder.Editor
|
||||
COMPONENT TestTools
|
||||
)
|
||||
endif()
|
||||
@@ -0,0 +1,26 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::WhiteBoxTests
|
||||
TEST_SUITE main
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Active.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
WhiteBox
|
||||
)
|
||||
endif()
|
||||
@@ -13,8 +13,6 @@ add_subdirectory(asset_processor_tests)
|
||||
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
## AP Python Tests ##
|
||||
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AssetPipelineTests.AuxiliaryContent
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/auxiliary_content_tests/auxiliary_content_tests.py
|
||||
@@ -22,7 +20,6 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
TEST_SUITE periodic
|
||||
)
|
||||
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AssetPipelineTests.BankInfoParser
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/wwise_bank_dependency_tests/bank_info_parser_tests.py
|
||||
@@ -33,4 +30,3 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
)
|
||||
|
||||
endif()
|
||||
|
||||
|
||||
@@ -141,4 +141,3 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
# )
|
||||
|
||||
endif()
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_FOUNDATION_TEST_SUPPORTED)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::EditorTests_Periodic
|
||||
TEST_SUITE periodic
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
Editor
|
||||
)
|
||||
endif()
|
||||
@@ -0,0 +1,186 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS AND PAL_TRAIT_LARGE_WORLDS_TEST_SUPPORTED)
|
||||
|
||||
## DynVeg ##
|
||||
|
||||
# Temporarily moving all tests to periodic suite - SPEC-6553
|
||||
#ly_add_pytest(
|
||||
# NAME AutomatedTesting::DynamicVegetationTests_Main
|
||||
# TEST_SERIAL
|
||||
# TEST_SUITE main
|
||||
# PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
|
||||
# PYTEST_MARKS "not SUITE_sandbox and not SUITE_periodic and not SUITE_benchmark"
|
||||
# TIMEOUT 1500
|
||||
# RUNTIME_DEPENDENCIES
|
||||
# AZ::AssetProcessor
|
||||
# Legacy::Editor
|
||||
# AutomatedTesting.GameLauncher
|
||||
# AutomatedTesting.Assets
|
||||
# COMPONENT
|
||||
# LargeWorlds
|
||||
#)
|
||||
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::DynamicVegetationTests_Sandbox
|
||||
TEST_SERIAL
|
||||
TEST_SUITE sandbox
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
|
||||
PYTEST_MARKS "SUITE_sandbox"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.GameLauncher
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::DynamicVegetationFilterTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
|
||||
PYTEST_MARKS "SUITE_periodic and dynveg_filter"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::DynamicVegetationModifierTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
|
||||
PYTEST_MARKS "SUITE_periodic and dynveg_modifier"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::DynamicVegetationRegressionTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
|
||||
PYTEST_MARKS "SUITE_periodic and dynveg_regression"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::DynamicVegetationAreaTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
|
||||
PYTEST_MARKS "SUITE_periodic and dynveg_area"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::DynamicVegetationMiscTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
|
||||
PYTEST_MARKS "SUITE_periodic and dynveg_misc"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::DynamicVegetationSurfaceTagTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/dyn_veg
|
||||
PYTEST_MARKS "SUITE_periodic and dynveg_surfacetagemitter"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
## LandscapeCanvas ##
|
||||
# Temporarily moving all tests to periodic suite - SPEC-6553
|
||||
#ly_add_pytest(
|
||||
# NAME AutomatedTesting::LandscapeCanvasTests_Main
|
||||
# TEST_SERIAL
|
||||
# TEST_SUITE main
|
||||
# PATH ${CMAKE_CURRENT_LIST_DIR}/largeworlds/landscape_canvas
|
||||
# PYTEST_MARKS "not SUITE_sandbox and not SUITE_periodic and not SUITE_benchmark"
|
||||
# TIMEOUT 1500
|
||||
# RUNTIME_DEPENDENCIES
|
||||
# AZ::AssetProcessor
|
||||
# Legacy::Editor
|
||||
# AutomatedTesting.Assets
|
||||
# COMPONENT
|
||||
# LargeWorlds
|
||||
#)
|
||||
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::LandscapeCanvasTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/landscape_canvas
|
||||
PYTEST_MARKS "SUITE_periodic"
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
## GradientSignal ##
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::GradientSignalTests_Periodic
|
||||
TEST_SERIAL
|
||||
TEST_SUITE periodic
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/gradient_signal
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
Legacy::Editor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
LargeWorlds
|
||||
)
|
||||
|
||||
endif()
|
||||
@@ -0,0 +1,52 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::PhysicsTests_Main
|
||||
TEST_SUITE main
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Main.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
Physics
|
||||
)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::PhysicsTests_Periodic
|
||||
TEST_SUITE periodic
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Periodic.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
Physics
|
||||
)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::PhysicsTests_Sandbox
|
||||
TEST_SUITE sandbox
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Sandbox.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
Physics
|
||||
)
|
||||
endif()
|
||||
+14
@@ -9,3 +9,17 @@
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
#
|
||||
|
||||
## Prefab ##
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::PrefabTests
|
||||
TEST_SUITE main
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Main.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
)
|
||||
endif()
|
||||
@@ -0,0 +1,37 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::ScriptCanvasTests_Perodic
|
||||
TEST_SUITE periodic
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Periodic.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
ScriptCanvas
|
||||
)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::ScriptCanvasTests_Sandbox
|
||||
TEST_SUITE sandbox
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/TestSuite_Sandbox.py
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
Legacy::Editor
|
||||
AZ::AssetProcessor
|
||||
AutomatedTesting.Assets
|
||||
)
|
||||
endif()
|
||||
+4
-9
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92568856
|
||||
Test Case Title: Multiple Entities can be targeted in the Debugger tool
|
||||
"""
|
||||
|
||||
|
||||
@@ -25,20 +21,20 @@ class Tests():
|
||||
GENERAL_WAIT = 0.5 # seconds
|
||||
|
||||
|
||||
def Debugging_TargetMultipleEntities():
|
||||
def Debugger_HappyPath_TargetMultipleEntities():
|
||||
"""
|
||||
Summary:
|
||||
Multiple Entities can be targeted in the Debugger tool
|
||||
|
||||
Expected Behavior:
|
||||
Selected files can be checked for logging.
|
||||
Multiple selected files can be checked for logging.
|
||||
Upon checking, checkboxes of the parent folders change to either full or partial check.
|
||||
|
||||
Test Steps:
|
||||
1) Create temp level
|
||||
2) Create two entities with scriptcanvas components
|
||||
3) Set values for scriptcanvas
|
||||
4) Open Script Canvas window and get sc opbject
|
||||
4) Open Script Canvas window and get sc object
|
||||
5) Open Debugging(Logging) window
|
||||
6) Click on Entities tab in logging window
|
||||
7) Verify if the scriptcanvas exist under entities
|
||||
@@ -53,7 +49,6 @@ def Debugging_TargetMultipleEntities():
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
from PySide2.QtCore import Qt
|
||||
import azlmbr.legacy.general as general
|
||||
@@ -140,4 +135,4 @@ if __name__ == "__main__":
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(Debugging_TargetMultipleEntities)
|
||||
Report.start_test(Debugger_HappyPath_TargetMultipleEntities)
|
||||
+4
-10
@@ -7,29 +7,25 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92569137
|
||||
Test Case Title: Multiple Graphs can be targeted in the Debugger tool
|
||||
"""
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
select_multiple_targets = ("Multiple targets are selected", "Multiple targets are not selected")
|
||||
select_multiple_targets = ("Multiple targets are selected", "Multiple targets are not selected")
|
||||
# fmt: on
|
||||
|
||||
|
||||
GENERAL_WAIT = 0.5 # seconds
|
||||
|
||||
|
||||
def Debugging_TargetMultipleGraphs():
|
||||
def Debugger_HappyPath_TargetMultipleGraphs():
|
||||
"""
|
||||
Summary:
|
||||
Multiple Graphs can be targeted in the Debugger tool
|
||||
|
||||
Expected Behavior:
|
||||
Selected files can be checked for logging.
|
||||
Multiple elected files can be checked for logging.
|
||||
Upon checking, checkboxes of the parent folders change to either full or partial check.
|
||||
|
||||
Test Steps:
|
||||
@@ -49,7 +45,6 @@ def Debugging_TargetMultipleGraphs():
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
from PySide2.QtCore import Qt
|
||||
import azlmbr.legacy.general as general
|
||||
@@ -106,7 +101,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(Debugging_TargetMultipleGraphs)
|
||||
Report.start_test(Debugger_HappyPath_TargetMultipleGraphs)
|
||||
+7
-15
@@ -7,12 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92569049
|
||||
Test Case Title: Edit > Undo undoes the last action
|
||||
Test case ID: T92569051
|
||||
Test Case Title: Edit > Redo redoes the last undone action
|
||||
"""
|
||||
|
||||
|
||||
@@ -24,7 +18,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def EditMenu_UndoRedo():
|
||||
def EditMenu_Default_UndoRedo():
|
||||
"""
|
||||
Summary:
|
||||
Edit > Undo undoes the last action
|
||||
@@ -33,8 +27,8 @@ def EditMenu_UndoRedo():
|
||||
redo it and verify if the variable is created again.
|
||||
|
||||
Expected Behavior:
|
||||
The last action is undone.
|
||||
The last undone action is redone.
|
||||
The last action is undone upon selecting Undo.
|
||||
The last undone action is redone upon selecting Redo.
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -44,7 +38,7 @@ def EditMenu_UndoRedo():
|
||||
5) Create new variable
|
||||
6) Verify if the variable is created initially
|
||||
7) Trigger Undo action and verify if variable is removed in Variable Manager
|
||||
8) Trigger Redo action and verify if variable is readded in Variable Manager
|
||||
8) Trigger Redo action and verify if variable is re-added in Variable Manager
|
||||
9) Close SC window
|
||||
|
||||
Note:
|
||||
@@ -54,13 +48,12 @@ def EditMenu_UndoRedo():
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets, QtCore
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import pyside_utils
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
# 1) Open Script Canvas window
|
||||
general.idle_enable(True)
|
||||
general.open_pane("Script Canvas")
|
||||
@@ -115,7 +108,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(EditMenu_UndoRedo)
|
||||
Report.start_test(EditMenu_Default_UndoRedo)
|
||||
+4
-8
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92562978
|
||||
Test Case Title: Script Canvas Component can be added to an entity
|
||||
"""
|
||||
|
||||
|
||||
@@ -23,13 +20,13 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def Entity_AddScriptCanvasComponent():
|
||||
def Entity_HappyPath_AddScriptCanvasComponent():
|
||||
"""
|
||||
Summary:
|
||||
verify if Script Canvas component can be added to Entity without any issue
|
||||
Script Canvas Component can be added to an entity
|
||||
|
||||
Expected Behavior:
|
||||
Script Canvas Component is added to the entity successfully without issue.
|
||||
Script Canvas Component is added to the entity successfully without issue
|
||||
|
||||
Test Steps:
|
||||
1) Create temp level
|
||||
@@ -46,7 +43,6 @@ def Entity_AddScriptCanvasComponent():
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from utils import TestHelper as helper
|
||||
from utils import Tracer
|
||||
from editor_entity_utils import EditorEntity
|
||||
@@ -84,4 +80,4 @@ if __name__ == "__main__":
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(Entity_AddScriptCanvasComponent)
|
||||
Report.start_test(Entity_HappyPath_AddScriptCanvasComponent)
|
||||
+7
-13
@@ -7,22 +7,15 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92569037
|
||||
Test Case Title: File > New Script creates a new script
|
||||
Test case ID: T92569039
|
||||
Test Case Title: File > Open opens the Open... dialog
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
from PySide2 import QtWidgets
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import editor_python_test_tools.pyside_utils as pyside_utils
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
new_action = "File->New action working as expected"
|
||||
@@ -33,10 +26,11 @@ class Tests():
|
||||
GENERAL_WAIT = 0.5 # seconds
|
||||
|
||||
|
||||
class TestFileMenuNewOpen:
|
||||
class TestFileMenuDefaultNewOpen:
|
||||
"""
|
||||
Summary:
|
||||
When clicked on File->New, new script opens and File->Open should open the FileBrowser
|
||||
When clicked on File->New, new script opens
|
||||
File->Open should open the FileBrowser
|
||||
|
||||
Expected Behavior:
|
||||
New and Open actions should work as expected.
|
||||
@@ -92,5 +86,5 @@ class TestFileMenuNewOpen:
|
||||
general.close_pane("Script Canvas")
|
||||
|
||||
|
||||
test = TestFileMenuNewOpen()
|
||||
test = TestFileMenuDefaultNewOpen()
|
||||
test.run_test()
|
||||
+7
-13
@@ -7,24 +7,17 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92563070
|
||||
Test Case Title: Graphs can be closed by clicking X on the Graph name tab
|
||||
Test case ID: T92563068
|
||||
Test Case Title: Save Prompt: User is prompted to save a graph on close after
|
||||
creating a new graph
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
from PySide2 import QtWidgets
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import editor_python_test_tools.pyside_utils as pyside_utils
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
new_graph = "New graph created"
|
||||
@@ -36,14 +29,15 @@ class Tests():
|
||||
GENERAL_WAIT = 0.5 # seconds
|
||||
|
||||
|
||||
class TestGraphCloseSavePrompt:
|
||||
class TestGraphClose_Default_SavePrompt:
|
||||
"""
|
||||
Summary:
|
||||
The graph is closed when x button is clicked.
|
||||
Save Prompt is opened before closing.
|
||||
|
||||
Expected Behavior:
|
||||
New and Open actions should work as expected.
|
||||
The Graph is closed.
|
||||
Upon closing the graph, User is prompted whether or not to save changes.
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -104,5 +98,5 @@ class TestGraphCloseSavePrompt:
|
||||
general.close_pane("Script Canvas")
|
||||
|
||||
|
||||
test = TestGraphCloseSavePrompt()
|
||||
test = TestGraphClose_Default_SavePrompt()
|
||||
test.run_test()
|
||||
+4
-11
@@ -7,12 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92569079
|
||||
Test Case Title: View > Zoom In zooms the graph in
|
||||
Test case ID: T92569081
|
||||
Test Case Title: View > Zoom In zooms the graph out
|
||||
"""
|
||||
|
||||
|
||||
@@ -26,7 +20,7 @@ class Tests():
|
||||
GENERAL_WAIT = 0.5 # seconds
|
||||
|
||||
|
||||
def Graph_ZoomInZoomOut():
|
||||
def Graph_HappyPath_ZoomInZoomOut():
|
||||
"""
|
||||
Summary:
|
||||
The graph can be zoomed in and zoomed out.
|
||||
@@ -91,7 +85,7 @@ def Graph_ZoomInZoomOut():
|
||||
zin = pyside_utils.find_child_by_pattern(sc_main, {"objectName": "action_ZoomIn", "type": QtWidgets.QAction})
|
||||
zin.trigger()
|
||||
result = helper.wait_for_condition(
|
||||
lambda: curr_m11 < graphics_view.transform().m11() and curr_m22 < graphics_view.transform().m22(), GENERAL_WAIT,
|
||||
lambda: curr_m11 < graphics_view.transform().m11() and curr_m22 < graphics_view.transform().m22(), GENERAL_WAIT
|
||||
)
|
||||
Report.result(Tests.zoom_in, result)
|
||||
|
||||
@@ -100,7 +94,7 @@ def Graph_ZoomInZoomOut():
|
||||
zout = pyside_utils.find_child_by_pattern(sc_main, {"objectName": "action_ZoomOut", "type": QtWidgets.QAction})
|
||||
zout.trigger()
|
||||
result = helper.wait_for_condition(
|
||||
lambda: curr_m11 > graphics_view.transform().m11() and curr_m22 > graphics_view.transform().m22(), GENERAL_WAIT,
|
||||
lambda: curr_m11 > graphics_view.transform().m11() and curr_m22 > graphics_view.transform().m22(), GENERAL_WAIT
|
||||
)
|
||||
Report.result(Tests.zoom_out, result)
|
||||
|
||||
@@ -112,7 +106,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(Graph_ZoomInZoomOut)
|
||||
Report.start_test(Graph_HappyPath_ZoomInZoomOut)
|
||||
@@ -13,5 +13,6 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
def init():
|
||||
import os
|
||||
import sys
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../automatedtesting_shared')
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + '/../EditorPythonTestTools/editor_python_test_tools')
|
||||
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../automatedtesting_shared")
|
||||
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + "/../EditorPythonTestTools/editor_python_test_tools")
|
||||
|
||||
+2
-8
@@ -7,11 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92568942
|
||||
Test Case Title: Clicking the "+" button and selecting "New Script Event" opens the
|
||||
Asset Editor with a new Script Event asset
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
@@ -35,11 +30,10 @@ GENERAL_WAIT = 0.5 # seconds
|
||||
class TestAssetEditor_NewScriptEvent:
|
||||
"""
|
||||
Summary:
|
||||
Clicking the "+" button in Node Palette and creating New Script Event opens Asset Editor
|
||||
Verifying logic flow of the "+" button on the Script Canvas pane's Node Palette is as expected
|
||||
|
||||
Expected Behavior:
|
||||
Clicking the "+" button and selecting "New Script Event" opens the Asset Editor with a
|
||||
new Script Event asset
|
||||
Clicking the "+" button and selecting "New Script Event" opens the Asset Editor with a new Script Event asset
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92562988
|
||||
Test Case Title: Left-click/double click expands and collapses node categories
|
||||
"""
|
||||
|
||||
|
||||
@@ -123,6 +120,8 @@ def NodeCategory_ExpandOnClick():
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(NodeCategory_ExpandOnClick)
|
||||
|
||||
+6
-11
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92568982
|
||||
Test Case Title: Renaming variables in the Node Inspector
|
||||
"""
|
||||
|
||||
|
||||
@@ -24,7 +21,7 @@ class Tests():
|
||||
GENERAL_WAIT = 0.5 # seconds
|
||||
|
||||
|
||||
def NodeInspector_RenameVariable():
|
||||
def NodeInspector_HappyPath_VariableRenames():
|
||||
"""
|
||||
Summary:
|
||||
Renaming variables in the Node Inspector, renames the actual variable.
|
||||
@@ -50,16 +47,16 @@ def NodeInspector_RenameVariable():
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
TEST_NAME = "test name"
|
||||
|
||||
from PySide2 import QtWidgets, QtCore, QtTest
|
||||
from PySide2.QtCore import Qt
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import pyside_utils
|
||||
from utils import TestHelper as helper
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
TEST_NAME = "test name"
|
||||
|
||||
def open_tool(sc, dock_widget_name, pane_name):
|
||||
if sc.findChild(QtWidgets.QDockWidget, dock_widget_name) is None:
|
||||
action = pyside_utils.find_child_by_pattern(sc, {"text": pane_name, "type": QtWidgets.QAction})
|
||||
@@ -120,12 +117,10 @@ def NodeInspector_RenameVariable():
|
||||
general.close_pane("Script Canvas")
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(NodeInspector_RenameVariable)
|
||||
Report.start_test(NodeInspector_HappyPath_VariableRenames)
|
||||
+8
-11
@@ -7,30 +7,27 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
|
||||
Test case ID: T92568940
|
||||
Test Case Title: Categories and Nodes can be selected
|
||||
"""
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
category_selected = ("Category can be selected", "Category cannot be selected")
|
||||
node_selected = ("Node can be selected", "Node cannot be selected")
|
||||
category_selected = ("Category can be selected", "Category cannot be selected")
|
||||
node_selected = ("Node can be selected", "Node cannot be selected")
|
||||
# fmt: on
|
||||
|
||||
|
||||
GENERAL_WAIT = 0.5 # seconds
|
||||
|
||||
|
||||
def NodePalette_SelectNode():
|
||||
def NodePalette_HappyPath_CanSelectNode():
|
||||
"""
|
||||
Summary:
|
||||
Categories and Nodes can be selected
|
||||
|
||||
Expected Behavior:
|
||||
When clicked on Node Palette, nodes and categories can be selected.
|
||||
A category can be selected inside the Node Palette
|
||||
A Node can be selected inside the Node Palette
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -53,11 +50,12 @@ def NodePalette_SelectNode():
|
||||
NODE = "Find Path To Entity"
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import pyside_utils
|
||||
from utils import TestHelper as helper
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
# 1) Open Script Canvas window (Tools > Script Canvas)
|
||||
general.idle_enable(True)
|
||||
general.open_pane("Script Canvas")
|
||||
@@ -97,7 +95,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(NodePalette_SelectNode)
|
||||
Report.start_test(NodePalette_HappyPath_CanSelectNode)
|
||||
+6
-11
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92562993
|
||||
Test Case Title: Clicking the X button on the Search Box clears the currently entered string
|
||||
"""
|
||||
|
||||
|
||||
@@ -20,14 +17,14 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def NodePalette_ClearSelection():
|
||||
def NodePalette_HappyPath_ClearSelection():
|
||||
"""
|
||||
Summary:
|
||||
We enter some string in the Node Palette Search box, and click on the X button to verify if the
|
||||
search string got cleared.
|
||||
Clicking the X button on the Search Box clears the currently entered string
|
||||
|
||||
Expected Behavior:
|
||||
Clicking the X button on the Search Box clears the currently entered string
|
||||
After entering a string value into the Node Palette's search box and click on
|
||||
the X button, the search box should be cleared
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -44,15 +41,13 @@ def NodePalette_ClearSelection():
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
|
||||
import pyside_utils
|
||||
from utils import TestHelper as helper
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import pyside_utils
|
||||
|
||||
TEST_STRING = "Test String"
|
||||
|
||||
# 1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -90,4 +85,4 @@ if __name__ == "__main__":
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(NodePalette_ClearSelection)
|
||||
Report.start_test(NodePalette_HappyPath_ClearSelection)
|
||||
+18
-23
@@ -7,33 +7,30 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: C1702821 // C1702832
|
||||
Test Case Title: Retain visibility, size and location upon Script Canvas restart
|
||||
"""
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
relaunch_sc = ("Script Canvas window is relaunched", "Failed to relaunch Script Canvas window")
|
||||
test_panes_visible = ("All the test panes are opened", "Failed to open one or more test panes")
|
||||
close_pane_1 = ("Test pane 1 is closed", "Failed to close test pane 1")
|
||||
visiblity_retained = ("Test pane retained its visiblity on SC restart", "Failed to retain visiblity of test pane on SC restart")
|
||||
resize_pane_3 = ("Test pane 3 resized successfully", "Failed to resize Test pane 3")
|
||||
size_retained = ("Test pane retained its size on SC restart", "Failed to retain size of test pane on SC restart")
|
||||
location_changed = ("Location of test pane 2 changed successfully", "Failed to change locatio of test pane 2")
|
||||
location_retained = ("Test pane retained its location on SC restart", "Failed to retain location of test pane on SC restart")
|
||||
relaunch_sc = ("Script Canvas window is relaunched", "Failed to relaunch Script Canvas window")
|
||||
test_panes_visible = ("All the test panes are opened", "Failed to open one or more test panes")
|
||||
close_pane_1 = ("Test pane 1 is closed", "Failed to close test pane 1")
|
||||
visibility_retained = ("Test pane retained its visibility on SC restart", "Failed to retain visibility of test pane on SC restart")
|
||||
resize_pane_3 = ("Test pane 3 resized successfully", "Failed to resize Test pane 3")
|
||||
size_retained = ("Test pane retained its size on SC restart", "Failed to retain size of test pane on SC restart")
|
||||
location_changed = ("Location of test pane 2 changed successfully", "Failed to change location of test pane 2")
|
||||
location_retained = ("Test pane retained its location on SC restart", "Failed to retain location of test pane on SC restart")
|
||||
# fmt: on
|
||||
|
||||
|
||||
def Pane_RetainOnSCRestart():
|
||||
def Pane_Default_RetainOnSCRestart():
|
||||
"""
|
||||
Summary:
|
||||
The Script Canvas window is opened to verify if Script canvas panes can retain its visibility, size and location
|
||||
upon ScriptCanvas restart.
|
||||
|
||||
Expected Behavior:
|
||||
The ScriptCanvas pane retain it's visiblity, size and location upon ScriptCanvas restart.
|
||||
The ScriptCanvas pane retain it's visibility, size and location upon ScriptCanvas restart.
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -42,7 +39,7 @@ def Pane_RetainOnSCRestart():
|
||||
4) Change dock location of test pane 2
|
||||
5) Resize test pane 3
|
||||
6) Relaunch Script Canvas
|
||||
7) Verify if test pane 1 retain its visiblity
|
||||
7) Verify if test pane 1 retain its visibility
|
||||
8) Verify if location of test pane 2 is retained
|
||||
9) Verify if size of test pane 3 is retained
|
||||
10) Restore default layout and close SC window
|
||||
@@ -55,6 +52,10 @@ def Pane_RetainOnSCRestart():
|
||||
:return: None
|
||||
"""
|
||||
|
||||
# Pyside imports
|
||||
from PySide2 import QtCore, QtWidgets
|
||||
from PySide2.QtCore import Qt
|
||||
|
||||
# Helper imports
|
||||
from utils import Report
|
||||
from utils import TestHelper as helper
|
||||
@@ -63,11 +64,6 @@ def Pane_RetainOnSCRestart():
|
||||
# Open 3D Engine Imports
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
# Pyside imports
|
||||
from PySide2 import QtCore, QtWidgets
|
||||
from PySide2.QtCore import Qt
|
||||
|
||||
# Constants
|
||||
TEST_PANE_1 = "NodePalette" # test visibility
|
||||
TEST_PANE_2 = "VariableManager" # test location
|
||||
TEST_PANE_3 = "NodeInspector" # test size
|
||||
@@ -128,10 +124,10 @@ def Pane_RetainOnSCRestart():
|
||||
sc_visible = helper.wait_for_condition(lambda: general.is_pane_visible("Script Canvas"), 5.0)
|
||||
Report.result(Tests.relaunch_sc, sc_visible)
|
||||
|
||||
# 7) Verify if test pane 1 retain its visiblity
|
||||
# 7) Verify if test pane 1 retain its visibility
|
||||
editor_window = pyside_utils.get_editor_main_window()
|
||||
sc = editor_window.findChild(QtWidgets.QDockWidget, "Script Canvas")
|
||||
Report.result(Tests.visiblity_retained, not find_pane(sc, TEST_PANE_1).isVisible())
|
||||
Report.result(Tests.visibility_retained, not find_pane(sc, TEST_PANE_1).isVisible())
|
||||
|
||||
# 8) Verify if location of test pane 2 is retained
|
||||
sc_main = sc.findChild(QtWidgets.QMainWindow)
|
||||
@@ -156,7 +152,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(Pane_RetainOnSCRestart)
|
||||
Report.start_test(Pane_Default_RetainOnSCRestart)
|
||||
Executable → Regular
+6
-16
@@ -7,24 +7,21 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: C1702824
|
||||
Test Case Title: Docking
|
||||
"""
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
pane_opened = ("Pane is opened successfully", "Failed to open pane")
|
||||
dock_pane = ("Pane is docked successfully", "Failed to dock Pane into one or more allowed area")
|
||||
pane_opened = ("Pane is opened successfully", "Failed to open pane")
|
||||
dock_pane = ("Pane is docked successfully", "Failed to dock Pane into one or more allowed area")
|
||||
# fmt: on
|
||||
|
||||
|
||||
def Docking_Pane():
|
||||
def Pane_HappyPath_DocksProperly():
|
||||
"""
|
||||
Summary:
|
||||
The Script Canvas window is opened to verify if Script canvas panes can be docked into
|
||||
every possible area of Script Canvas main window.
|
||||
The Script Canvas window is opened to verify if Script canvas panes can be docked into every
|
||||
possible area of Script Canvas main window. (top, bottom, right and left sides of the window)
|
||||
|
||||
Expected Behavior:
|
||||
The pane docks successfully.
|
||||
@@ -43,12 +40,6 @@ def Docking_Pane():
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
# Helper imports
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
import editor_python_test_tools.pyside_utils as pyside_utils
|
||||
@@ -110,7 +101,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
Report.start_test(Docking_Pane)
|
||||
Report.start_test(Pane_HappyPath_DocksProperly)
|
||||
Executable → Regular
+4
-8
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: C1702834 // C1702823
|
||||
Test Case Title: Opening pane // Closing pane
|
||||
"""
|
||||
|
||||
|
||||
@@ -21,13 +18,13 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def Opening_Closing_Pane():
|
||||
def Pane_HappyPath_OpenCloseSuccessfully():
|
||||
"""
|
||||
Summary:
|
||||
The Script Canvas window is opened to verify if Script canvas panes can be opened and closed.
|
||||
The Script Canvas window is opened to verify if Script Canvas panes can be opened and closed.
|
||||
|
||||
Expected Behavior:
|
||||
The pane opens and closes successfully.
|
||||
The panes open and close successfully.
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
@@ -113,7 +110,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
Report.start_test(Opening_Closing_Pane)
|
||||
Report.start_test(Pane_HappyPath_OpenCloseSuccessfully)
|
||||
Executable → Regular
+7
-11
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: C1702829
|
||||
Test Case Title: Resizing pane
|
||||
"""
|
||||
|
||||
|
||||
@@ -20,10 +17,10 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def Resizing_Pane():
|
||||
def Pane_HappyPath_ResizesProperly():
|
||||
"""
|
||||
Summary:
|
||||
The Script Canvas window is opened to verify if Script canvas panes can be resized and scaled
|
||||
The Script Canvas window is opened to verify if Script Canvas panes can be resized and scaled
|
||||
|
||||
Expected Behavior:
|
||||
The pane is resized and scaled appropriately.
|
||||
@@ -32,7 +29,7 @@ def Resizing_Pane():
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
2) Restore default layout
|
||||
3) Make sure pane is opened
|
||||
4) Resize pane
|
||||
4) Resize pane and verify change
|
||||
5) Restore default layout
|
||||
6) Close Script Canvas window
|
||||
|
||||
@@ -44,6 +41,8 @@ def Resizing_Pane():
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
import editor_python_test_tools.pyside_utils as pyside_utils
|
||||
@@ -51,9 +50,6 @@ def Resizing_Pane():
|
||||
# Open 3D Engine imports
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
# Pyside imports
|
||||
from PySide2 import QtWidgets
|
||||
|
||||
PANE_WIDGET = "NodePalette"
|
||||
SCALE_INT = 10
|
||||
|
||||
@@ -86,7 +82,7 @@ def Resizing_Pane():
|
||||
|
||||
Report.result(Tests.open_pane, pane.isVisible())
|
||||
|
||||
# 4) Resize pane
|
||||
# 4) Resize pane and verify change
|
||||
initial_size = pane.frameSize()
|
||||
pane.resize(initial_size.width() + SCALE_INT, initial_size.height() + SCALE_INT)
|
||||
new_size = pane.frameSize()
|
||||
@@ -109,4 +105,4 @@ if __name__ == "__main__":
|
||||
imports.init()
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
Report.start_test(Resizing_Pane)
|
||||
Report.start_test(Pane_HappyPath_ResizesProperly)
|
||||
+161
@@ -0,0 +1,161 @@
|
||||
"""
|
||||
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.
|
||||
"""
|
||||
|
||||
|
||||
class Tests:
|
||||
test_panes_visible = "All the test panes are opened"
|
||||
close_pane_1 = "Test pane 1 is closed"
|
||||
resize_pane_3 = "Test pane 3 resized successfully"
|
||||
location_changed = "Location of test pane 2 changed successfully"
|
||||
visiblity_retained = "Test pane retained its visiblity on Editor restart"
|
||||
location_retained = "Test pane retained its location on Editor restart"
|
||||
size_retained = "Test pane retained its size on Editor restart"
|
||||
|
||||
|
||||
def Pane_PropertiesChanged_RetainsOnRestart():
|
||||
"""
|
||||
Summary:
|
||||
The Script Canvas window is opened to verify if Script canvas panes can retain its visibility, size and location
|
||||
upon Editor restart.
|
||||
|
||||
Expected Behavior:
|
||||
The ScriptCanvas pane retain it's visiblity, size and location upon Editor restart.
|
||||
|
||||
Test Steps:
|
||||
1) Open Script Canvas window (Tools > Script Canvas)
|
||||
2) Make sure test panes are open and visible
|
||||
3) Close test pane 1
|
||||
4) Change dock location of test pane 2
|
||||
5) Resize test pane 3
|
||||
6) Restart Editor
|
||||
7) Verify if test pane 1 retain its visiblity
|
||||
8) Verify if location of test pane 2 is retained
|
||||
9) Verify if size of test pane 3 is retained
|
||||
10) Restore default layout and close SC window
|
||||
|
||||
Note:
|
||||
- This test file must be called from the Open 3D Engine Editor command terminal
|
||||
- Any passed and failed tests are written to the Editor.log file.
|
||||
Parsing the file or running a log_monitor are required to observe the test results.
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
import sys
|
||||
|
||||
# Helper imports
|
||||
from utils import Report
|
||||
from utils import TestHelper as helper
|
||||
import pyside_utils
|
||||
|
||||
# Lumberyard Imports
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
# Pyside imports
|
||||
from PySide2 import QtCore, QtWidgets
|
||||
from PySide2.QtCore import Qt
|
||||
|
||||
# Constants
|
||||
TEST_CONDITION = sys.argv[1]
|
||||
TEST_PANE_1 = "NodePalette" # pane used to test visibility
|
||||
TEST_PANE_2 = "VariableManager" # pane used to test location
|
||||
TEST_PANE_3 = "NodeInspector" # pane used to test size
|
||||
SCALE_INT = 10 # Random resize scale integer
|
||||
DOCKAREA = Qt.TopDockWidgetArea # Preferred top area since no widget is docked on top
|
||||
|
||||
def click_menu_option(window, option_text):
|
||||
action = pyside_utils.find_child_by_pattern(window, {"text": option_text, "type": QtWidgets.QAction})
|
||||
action.trigger()
|
||||
|
||||
def find_pane(window, pane_name):
|
||||
return window.findChild(QtWidgets.QDockWidget, pane_name)
|
||||
|
||||
# Test starts here
|
||||
general.idle_enable(True)
|
||||
|
||||
# 1) Open Script Canvas window (Tools > Script Canvas)
|
||||
general.open_pane("Script Canvas")
|
||||
helper.wait_for_condition(lambda: general.is_pane_visible("Script Canvas"), 5.0)
|
||||
|
||||
if TEST_CONDITION == "before_restart":
|
||||
# 2) Make sure test panes are open and visible
|
||||
editor_window = pyside_utils.get_editor_main_window()
|
||||
sc = editor_window.findChild(QtWidgets.QDockWidget, "Script Canvas")
|
||||
click_menu_option(sc, "Restore Default Layout")
|
||||
test_pane_1 = sc.findChild(QtWidgets.QDockWidget, TEST_PANE_1)
|
||||
test_pane_2 = sc.findChild(QtWidgets.QDockWidget, TEST_PANE_2)
|
||||
test_pane_3 = sc.findChild(QtWidgets.QDockWidget, TEST_PANE_3)
|
||||
|
||||
result = test_pane_1.isVisible() and test_pane_2.isVisible() and test_pane_3.isVisible()
|
||||
Report.info(f"{Tests.test_panes_visible}: {result}")
|
||||
|
||||
# 3) Close test pane
|
||||
test_pane_1.close()
|
||||
Report.info(f"{Tests.close_pane_1}: {not test_pane_1.isVisible()}")
|
||||
|
||||
# 4) Change dock location of test pane 2
|
||||
sc_main = sc.findChild(QtWidgets.QMainWindow)
|
||||
sc_main.addDockWidget(DOCKAREA, find_pane(sc_main, TEST_PANE_2), QtCore.Qt.Vertical)
|
||||
Report.info(f"{Tests.location_changed}: {sc_main.dockWidgetArea(find_pane(sc_main, TEST_PANE_2)) == DOCKAREA}")
|
||||
|
||||
# 5) Resize test pane 3
|
||||
initial_size = test_pane_3.frameSize()
|
||||
test_pane_3.resize(initial_size.width() + SCALE_INT, initial_size.height() + SCALE_INT)
|
||||
new_size = test_pane_3.frameSize()
|
||||
resize_success = (
|
||||
abs(initial_size.width() - new_size.width()) == abs(initial_size.height() - new_size.height()) == SCALE_INT
|
||||
)
|
||||
Report.info(f"{Tests.resize_pane_3}: {resize_success}")
|
||||
|
||||
if TEST_CONDITION == "after_restart":
|
||||
try:
|
||||
# 6) Restart Editor
|
||||
# Restart is not possible through script and hence it is done by running the same file as 2 tests with a
|
||||
# condition as before_test and after_test
|
||||
|
||||
# 7) Verify if test pane 1 retain its visiblity
|
||||
# This pane closed before restart and expected that pane should not be visible.
|
||||
editor_window = pyside_utils.get_editor_main_window()
|
||||
sc = editor_window.findChild(QtWidgets.QDockWidget, "Script Canvas")
|
||||
Report.info(f"{Tests.visiblity_retained}: {not find_pane(sc, TEST_PANE_1).isVisible()}")
|
||||
|
||||
# 8) Verify if location of test pane 2 is retained
|
||||
# This pane was set at DOCKAREA lcoation before restart
|
||||
sc_main = sc.findChild(QtWidgets.QMainWindow)
|
||||
Report.info(
|
||||
f"{Tests.location_retained}: {sc_main.dockWidgetArea(find_pane(sc_main, TEST_PANE_2)) == DOCKAREA}"
|
||||
)
|
||||
|
||||
# 9) Verify if size of test pane 3 is retained
|
||||
# Verifying if size retained by checking current size not matching with default size
|
||||
test_pane_3 = find_pane(sc, TEST_PANE_3)
|
||||
retained_size = test_pane_3.frameSize()
|
||||
click_menu_option(sc, "Restore Default Layout")
|
||||
actual_size = test_pane_3.frameSize()
|
||||
Report.info(f"{Tests.size_retained}: {retained_size != actual_size}")
|
||||
|
||||
finally:
|
||||
# 10) Restore default layout and close SC window
|
||||
general.open_pane("Script Canvas")
|
||||
helper.wait_for_condition(lambda: general.is_pane_visible("Script Canvas"), 5.0)
|
||||
sc = editor_window.findChild(QtWidgets.QDockWidget, "Script Canvas")
|
||||
click_menu_option(sc, "Restore Default Layout")
|
||||
sc.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(Pane_PropertiesChanged_RetainsOnRestart)
|
||||
+4
-9
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: C1702825 // C1702831
|
||||
Test Case Title: Undocking // Closing script canvas with the pane floating
|
||||
"""
|
||||
|
||||
|
||||
@@ -21,7 +18,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def UnDockedPane_CloseSCWindow():
|
||||
def Pane_Undocked_ClosesSuccessfully():
|
||||
"""
|
||||
Summary:
|
||||
The Script Canvas window is opened with one of the pane undocked.
|
||||
@@ -45,6 +42,8 @@ def UnDockedPane_CloseSCWindow():
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
|
||||
# Helper imports
|
||||
from utils import Report
|
||||
from utils import TestHelper as helper
|
||||
@@ -53,9 +52,6 @@ def UnDockedPane_CloseSCWindow():
|
||||
# Open 3D Engine imports
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
# Pyside imports
|
||||
from PySide2 import QtWidgets
|
||||
|
||||
TEST_PANE = "NodePalette" # Chosen most commonly used pane
|
||||
|
||||
def click_menu_option(window, option_text):
|
||||
@@ -120,7 +116,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(UnDockedPane_CloseSCWindow)
|
||||
Report.start_test(Pane_Undocked_ClosesSuccessfully)
|
||||
+35
-26
@@ -7,29 +7,26 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92569253 // T92569254
|
||||
Test Case Title: On Entity Activated // On Entity Deactivated
|
||||
"""
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
level_created = ("Successfully created temp level", "Failed to create temp level")
|
||||
controller_exists = ("Successfully found controller entity", "Failed to find controller entity")
|
||||
activated_exists = ("Successfully found activated entity", "Failed to find activated entity")
|
||||
deactivated_exists = ("Successfully found deactivated entity","Failed to find deactivated entity")
|
||||
start_states_correct = ("Start states set up successfully", "Start states set up incorrectly")
|
||||
game_mode_entered = ("Successfully entered game mode" "Failed to enter game mode")
|
||||
lines_found = ("Successfully found expected prints", "Failed to find expected prints")
|
||||
game_mode_exited = ("Successfully exited game mode" "Failed to exit game mode")
|
||||
level_created = ("Successfully created temp level", "Failed to create temp level")
|
||||
controller_exists = ("Successfully found controller entity", "Failed to find controller entity")
|
||||
activated_exists = ("Successfully found activated entity", "Failed to find activated entity")
|
||||
deactivated_exists = ("Successfully found deactivated entity", "Failed to find deactivated entity")
|
||||
start_states_correct = ("Start states set up successfully", "Start states set up incorrectly")
|
||||
game_mode_entered = ("Successfully entered game mode" "Failed to enter game mode")
|
||||
lines_found = ("Successfully found expected prints", "Failed to find expected prints")
|
||||
game_mode_exited = ("Successfully exited game mode" "Failed to exit game mode")
|
||||
# fmt: on
|
||||
|
||||
|
||||
def OnEntityActivatedDeactivated_PrintMessage():
|
||||
def ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage():
|
||||
"""
|
||||
Summary:
|
||||
Verify that the On Entity Activation node is working as expected
|
||||
Verify that the On Entity Activated/On Entity Deactivated nodes are working as expected
|
||||
|
||||
Expected Behavior:
|
||||
Upon entering game mode, the Controller entity will wait 1 second and then activate the ActivationTest
|
||||
@@ -54,9 +51,9 @@ def OnEntityActivatedDeactivated_PrintMessage():
|
||||
"""
|
||||
import os
|
||||
|
||||
from utils import TestHelper as helper
|
||||
from editor_entity_utils import EditorEntity as Entity
|
||||
from utils import Report
|
||||
from utils import TestHelper as helper
|
||||
from utils import Tracer
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
@@ -68,33 +65,45 @@ def OnEntityActivatedDeactivated_PrintMessage():
|
||||
controller_dict = {
|
||||
"name": "Controller",
|
||||
"status": "active",
|
||||
"path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "controller.scriptcanvas")
|
||||
"path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "controller.scriptcanvas"),
|
||||
}
|
||||
activated_dict = {
|
||||
"name": "ActivationTest",
|
||||
"status": "inactive",
|
||||
"path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "activator.scriptcanvas")
|
||||
"path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "activator.scriptcanvas"),
|
||||
}
|
||||
deactivated_dict = {
|
||||
"name": "DeactivationTest",
|
||||
"status": "active",
|
||||
"path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "deactivator.scriptcanvas")
|
||||
"path": os.path.join("ScriptCanvas", "OnEntityActivatedScripts", "deactivator.scriptcanvas"),
|
||||
}
|
||||
|
||||
def get_asset(asset_path):
|
||||
return azlmbr.asset.AssetCatalogRequestBus(azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False)
|
||||
return azlmbr.asset.AssetCatalogRequestBus(
|
||||
azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False
|
||||
)
|
||||
|
||||
def setup_level():
|
||||
def create_editor_entity(entity_dict:dict, entity_to_activate:EditorEntity=None, entity_to_deactivate:EditorEntity=None) -> EditorEntity:
|
||||
def create_editor_entity(
|
||||
entity_dict: dict, entity_to_activate: EditorEntity = None, entity_to_deactivate: EditorEntity = None
|
||||
) -> EditorEntity:
|
||||
entity = Entity.create_editor_entity(entity_dict["name"])
|
||||
entity.set_start_status(entity_dict["status"])
|
||||
sc_component = entity.add_component("Script Canvas")
|
||||
sc_component.set_component_property_value("Script Canvas Asset|Script Canvas Asset", get_asset(entity_dict["path"]))
|
||||
sc_component.set_component_property_value(
|
||||
"Script Canvas Asset|Script Canvas Asset", get_asset(entity_dict["path"])
|
||||
)
|
||||
|
||||
if entity_dict["name"] == "Controller":
|
||||
sc_component.get_property_tree()
|
||||
sc_component.set_component_property_value("Properties|Variable Fields|Variables|[0]|Name,Value|Datum|Datum|EntityToActivate", entity_to_activate.id)
|
||||
sc_component.set_component_property_value("Properties|Variable Fields|Variables|[1]|Name,Value|Datum|Datum|EntityToDeactivate", entity_to_deactivate.id)
|
||||
sc_component.set_component_property_value(
|
||||
"Properties|Variable Fields|Variables|[0]|Name,Value|Datum|Datum|EntityToActivate",
|
||||
entity_to_activate.id,
|
||||
)
|
||||
sc_component.set_component_property_value(
|
||||
"Properties|Variable Fields|Variables|[1]|Name,Value|Datum|Datum|EntityToDeactivate",
|
||||
entity_to_deactivate.id,
|
||||
)
|
||||
return entity
|
||||
|
||||
activated = create_editor_entity(activated_dict)
|
||||
@@ -110,7 +119,7 @@ def OnEntityActivatedDeactivated_PrintMessage():
|
||||
Report.critical_result(test_tuple, entity.id.IsValid())
|
||||
return entity
|
||||
|
||||
def validate_start_state(entity:EditorEntity, expected_state:str):
|
||||
def validate_start_state(entity: EditorEntity, expected_state: str):
|
||||
"""
|
||||
Validate that the starting state of the entity is correct, if it isn't then attempt to rectify and recheck.
|
||||
:return: bool: Whether state is set as expected
|
||||
@@ -176,8 +185,8 @@ def OnEntityActivatedDeactivated_PrintMessage():
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(OnEntityActivatedDeactivated_PrintMessage)
|
||||
|
||||
Report.start_test(ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage)
|
||||
+4
-12
@@ -7,12 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: C92569165, C92569167, C92569168, C92569170
|
||||
Test Case Title: Tools > Node Palette toggles the Node Palette
|
||||
Tools > Node Inspector toggles the Node Inspector
|
||||
Tools > Bookmarks toggles the Bookmarks
|
||||
Tools > Variable Manager toggles the Variable Manager
|
||||
"""
|
||||
|
||||
|
||||
@@ -33,7 +27,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def Toggle_ScriptCanvasTools():
|
||||
def ScriptCanvasTools_Toggle_OpenCloseSuccess():
|
||||
"""
|
||||
Summary:
|
||||
Toggle Node Palette, Node Inspector, Bookmarks and Variable Manager in Script Canvas.
|
||||
@@ -58,6 +52,8 @@ def Toggle_ScriptCanvasTools():
|
||||
:return: None
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets
|
||||
|
||||
from utils import Report
|
||||
from utils import TestHelper as helper
|
||||
import pyside_utils
|
||||
@@ -65,9 +61,6 @@ def Toggle_ScriptCanvasTools():
|
||||
# Open 3D Engine imports
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
# Pyside imports
|
||||
from PySide2 import QtWidgets
|
||||
|
||||
def click_menu_option(window, option_text):
|
||||
action = pyside_utils.find_child_by_pattern(window, {"text": option_text, "type": QtWidgets.QAction})
|
||||
action.trigger()
|
||||
@@ -126,7 +119,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(Toggle_ScriptCanvasTools)
|
||||
Report.start_test(ScriptCanvasTools_Toggle_OpenCloseSuccess)
|
||||
+2
-8
@@ -7,10 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92562986
|
||||
Test Case Title: Changing the assigned Script Canvas Asset on an entity properly updates
|
||||
level functionality
|
||||
"""
|
||||
|
||||
|
||||
@@ -24,7 +20,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def ScriptCanvas_ChangingAssets():
|
||||
def ScriptCanvas_ChangingAssets_ComponentStable():
|
||||
"""
|
||||
Summary:
|
||||
Changing the assigned Script Canvas Asset on an entity properly updates level functionality
|
||||
@@ -57,7 +53,6 @@ def ScriptCanvas_ChangingAssets():
|
||||
import azlmbr.math as math
|
||||
import azlmbr.asset as asset
|
||||
import azlmbr.bus as bus
|
||||
import azlmbr.paths as paths
|
||||
|
||||
LEVEL_NAME = "tmp_level"
|
||||
ASSET_1 = os.path.join("scriptcanvas", "ScriptCanvas_TwoComponents0.scriptcanvas")
|
||||
@@ -83,7 +78,6 @@ def ScriptCanvas_ChangingAssets():
|
||||
Report.result(Tests.found_lines, find_expected_line(EXP_LINE))
|
||||
helper.exit_game_mode(Tests.game_mode_exited)
|
||||
|
||||
|
||||
# 1) Create temp level
|
||||
general.idle_enable(True)
|
||||
result = general.create_level_no_prompt(LEVEL_NAME, 128, 1, 512, True)
|
||||
@@ -112,4 +106,4 @@ if __name__ == "__main__":
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(ScriptCanvas_ChangingAssets)
|
||||
Report.start_test(ScriptCanvas_ChangingAssets_ComponentStable)
|
||||
+3
-6
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92563190
|
||||
Test Case Title: A single Entity with two Script Canvas components works properly
|
||||
"""
|
||||
|
||||
|
||||
@@ -26,7 +23,7 @@ class LogLines:
|
||||
expected_lines = ["Greetings from the first script", "Greetings from the second script"]
|
||||
|
||||
|
||||
def ScriptCanvas_TwoComponents():
|
||||
def ScriptCanvas_TwoComponents_InteractSuccessfully():
|
||||
"""
|
||||
Summary:
|
||||
A test entity contains two Script Canvas components with different unique script canvas files.
|
||||
@@ -57,6 +54,7 @@ def ScriptCanvas_TwoComponents():
|
||||
import hydra_editor_utils as hydra
|
||||
from utils import Report
|
||||
from utils import Tracer
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.math as math
|
||||
import azlmbr.asset as asset
|
||||
@@ -111,7 +109,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(ScriptCanvas_TwoComponents)
|
||||
Report.start_test(ScriptCanvas_TwoComponents_InteractSuccessfully)
|
||||
+6
-8
@@ -7,26 +7,23 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92563191
|
||||
Test Case Title: Two Entities can use the same Graph asset successfully at RunTime
|
||||
"""
|
||||
|
||||
|
||||
# fmt: off
|
||||
class Tests():
|
||||
level_created = ("New level created", "New level not created")
|
||||
level_created = ("New level created successfully", "New level failed to create")
|
||||
game_mode_entered = ("Game Mode successfully entered", "Game mode failed to enter")
|
||||
game_mode_exited = ("Game Mode successfully exited", "Game mode failed to exited")
|
||||
found_lines = ("Expected log lines were found", "Expected log lines were not found")
|
||||
# fmt: on
|
||||
|
||||
|
||||
def ScriptCanvas_TwoEntities():
|
||||
def ScriptCanvas_TwoEntities_UseSimultaneously():
|
||||
"""
|
||||
Summary:
|
||||
Two Entities can use the same Graph asset successfully at RunTime. The script canvas asset
|
||||
attached to the enties will print the respective entity names.
|
||||
attached to the entities will print the respective entity names.
|
||||
|
||||
Expected Behavior:
|
||||
When game mode is entered, respective strings of different entities should be printed.
|
||||
@@ -48,9 +45,10 @@ def ScriptCanvas_TwoEntities():
|
||||
|
||||
import os
|
||||
|
||||
import hydra_editor_utils as hydra
|
||||
from utils import TestHelper as helper
|
||||
from utils import Tracer
|
||||
import hydra_editor_utils as hydra
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.math as math
|
||||
import azlmbr.asset as asset
|
||||
@@ -103,4 +101,4 @@ if __name__ == "__main__":
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(ScriptCanvas_TwoEntities)
|
||||
Report.start_test(ScriptCanvas_TwoEntities_UseSimultaneously)
|
||||
-4
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92569013
|
||||
Test Case Title: Script Event file can be created
|
||||
"""
|
||||
|
||||
|
||||
@@ -117,7 +114,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(CreateScriptEventFile)
|
||||
+2
-6
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92567320
|
||||
Test Case Title: Script Events: Can send and receive a script event successfully
|
||||
"""
|
||||
|
||||
|
||||
@@ -23,7 +20,7 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def ScriptEvents_SendReceiveSuccessfully():
|
||||
def ScriptEvents_Default_SendReceiveSuccessfully():
|
||||
"""
|
||||
Summary:
|
||||
An entity exists in the level that contains a Script Canvas component. In the graph is both a Send Event
|
||||
@@ -103,7 +100,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(ScriptEvents_SendReceiveSuccessfully)
|
||||
Report.start_test(ScriptEvents_Default_SendReceiveSuccessfully)
|
||||
+11
-14
@@ -7,9 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92567321
|
||||
Test Case Title: Script Events: Can send and receive a script event across multiple entities successfully
|
||||
"""
|
||||
|
||||
|
||||
@@ -24,10 +21,11 @@ class Tests():
|
||||
# fmt: on
|
||||
|
||||
|
||||
def ScriptEvents_SendReceiveAcrossMultiple():
|
||||
def ScriptEvents_HappyPath_SendReceiveAcrossMultiple():
|
||||
"""
|
||||
Summary:
|
||||
EntityA and EntityB will be created in a level. Attached to both will be a Script Canvas component. The Script Event created for the test will be sent from EntityA to EntityB.
|
||||
EntityA and EntityB will be created in a level. Attached to both will be a Script Canvas component.
|
||||
The Script Event created for the test will be sent from EntityA to EntityB.
|
||||
|
||||
Expected Behavior:
|
||||
The output of the Script Event should be printed to the console
|
||||
@@ -49,7 +47,7 @@ def ScriptEvents_SendReceiveAcrossMultiple():
|
||||
:return: None
|
||||
"""
|
||||
import os
|
||||
|
||||
|
||||
from editor_entity_utils import EditorEntity as Entity
|
||||
from utils import Report
|
||||
from utils import TestHelper as helper
|
||||
@@ -65,20 +63,19 @@ def ScriptEvents_SendReceiveAcrossMultiple():
|
||||
"assetA": os.path.join("ScriptCanvas", f"{ASSET_PREFIX}A.scriptcanvas"),
|
||||
"assetB": os.path.join("ScriptCanvas", f"{ASSET_PREFIX}B.scriptcanvas"),
|
||||
}
|
||||
sc_for_entities = {
|
||||
"EntityA": asset_paths["assetA"],
|
||||
"EntityB": asset_paths["assetB"]
|
||||
}
|
||||
sc_for_entities = {"EntityA": asset_paths["assetA"], "EntityB": asset_paths["assetB"]}
|
||||
EXPECTED_LINES = ["Incoming Message Received"]
|
||||
|
||||
def get_asset(asset_path):
|
||||
return azlmbr.asset.AssetCatalogRequestBus(azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False)
|
||||
return azlmbr.asset.AssetCatalogRequestBus(
|
||||
azlmbr.bus.Broadcast, "GetAssetIdByPath", asset_path, azlmbr.math.Uuid(), False
|
||||
)
|
||||
|
||||
def create_editor_entity(name, sc_asset):
|
||||
entity = Entity.create_editor_entity(name)
|
||||
sc_comp = entity.add_component("Script Canvas")
|
||||
sc_comp.set_component_property_value("Script Canvas Asset|Script Canvas Asset", get_asset(sc_asset))
|
||||
Report.critical_result(Tests.__dict__[name.lower()+"_created"], entity.id.isValid())
|
||||
Report.critical_result(Tests.__dict__[name.lower() + "_created"], entity.id.isValid())
|
||||
|
||||
def locate_expected_lines(line_list: list):
|
||||
found_lines = [printInfo.message.strip() for printInfo in section_tracer.prints]
|
||||
@@ -112,8 +109,8 @@ def ScriptEvents_SendReceiveAcrossMultiple():
|
||||
|
||||
if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
imports.init()
|
||||
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(ScriptEvents_SendReceiveAcrossMultiple)
|
||||
Report.start_test(ScriptEvents_HappyPath_SendReceiveAcrossMultiple)
|
||||
@@ -106,7 +106,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(ScriptEvents_ReturnSetType_Successfully)
|
||||
|
||||
+86
-74
@@ -29,79 +29,67 @@ TEST_DIRECTORY = os.path.dirname(__file__)
|
||||
@pytest.mark.parametrize("launcher_platform", ['windows_editor'])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
class TestAutomation(TestAutomationBase):
|
||||
@pytest.mark.test_case_id("C1702834", "C1702823")
|
||||
def test_Opening_Closing_Pane(self, request, workspace, editor, launcher_platform):
|
||||
from . import Opening_Closing_Pane as test_module
|
||||
def test_Pane_HappyPath_OpenCloseSuccessfully(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_HappyPath_OpenCloseSuccessfully as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("C1702824")
|
||||
def test_Docking_Pane(self, request, workspace, editor, launcher_platform):
|
||||
from . import Docking_Pane as test_module
|
||||
def test_Pane_HappyPath_DocksProperly(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_HappyPath_DocksProperly as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("C1702829")
|
||||
def test_Resizing_Pane(self, request, workspace, editor, launcher_platform):
|
||||
from . import Resizing_Pane as test_module
|
||||
def test_Pane_HappyPath_ResizesProperly(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_HappyPath_ResizesProperly as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92563190")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_ScriptCanvas_TwoComponents(self, request, workspace, editor, launcher_platform, level):
|
||||
def test_ScriptCanvas_TwoComponents_InteractSuccessfully(self, request, workspace, editor, launcher_platform, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptCanvas_TwoComponents as test_module
|
||||
from . import ScriptCanvas_TwoComponents_InteractSuccessfully as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92562986")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_ScriptCanvas_ChangingAssets(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def test_ScriptCanvas_ChangingAssets_ComponentStable(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptCanvas_ChangingAssets as test_module
|
||||
from . import ScriptCanvas_ChangingAssets_ComponentStable as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92569079", "T92569081")
|
||||
def test_Graph_ZoomInZoomOut(self, request, workspace, editor, launcher_platform):
|
||||
from . import Graph_ZoomInZoomOut as test_module
|
||||
def test_Graph_HappyPath_ZoomInZoomOut(self, request, workspace, editor, launcher_platform):
|
||||
from . import Graph_HappyPath_ZoomInZoomOut as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92568940")
|
||||
def test_NodePalette_SelectNode(self, request, workspace, editor, launcher_platform):
|
||||
from . import NodePalette_SelectNode as test_module
|
||||
def test_NodePalette_HappyPath_CanSelectNode(self, request, workspace, editor, launcher_platform):
|
||||
from . import NodePalette_HappyPath_CanSelectNode as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92569253")
|
||||
@pytest.mark.test_case_id("T92569254")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_OnEntityActivatedDeactivated_PrintMessage(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def test_ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import OnEntityActivatedDeactivated_PrintMessage as test_module
|
||||
from . import ScriptCanvasComponent_OnEntityActivatedDeactivated_PrintMessage as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92562993")
|
||||
def test_NodePalette_ClearSelection(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import NodePalette_ClearSelection as test_module
|
||||
def test_NodePalette_HappyPath_ClearSelection(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import NodePalette_HappyPath_ClearSelection as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92563191")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_ScriptCanvas_TwoEntities(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def test_ScriptCanvas_TwoEntities_UseSimultaneously(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptCanvas_TwoEntities as test_module
|
||||
from . import ScriptCanvas_TwoEntities_UseSimultaneously as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92569013")
|
||||
def test_AssetEditor_CreateScriptEventFile(self, request, workspace, editor, launcher_platform, project):
|
||||
def test_ScriptEvent_HappyPath_CreatedWithoutError(self, request, workspace, editor, launcher_platform, project):
|
||||
def teardown():
|
||||
file_system.delete(
|
||||
[os.path.join(workspace.paths.project(), "ScriptCanvas", "test_file.scriptevent")], True, True
|
||||
@@ -110,77 +98,71 @@ class TestAutomation(TestAutomationBase):
|
||||
file_system.delete(
|
||||
[os.path.join(workspace.paths.project(), "ScriptCanvas", "test_file.scriptevent")], True, True
|
||||
)
|
||||
from . import AssetEditor_CreateScriptEventFile as test_module
|
||||
from . import ScriptEvent_HappyPath_CreatedWithoutError as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92569165", "T92569167", "T92569168", "T92569170")
|
||||
def test_Toggle_ScriptCanvasTools(self, request, workspace, editor, launcher_platform):
|
||||
from . import Toggle_ScriptCanvasTools as test_module
|
||||
def test_ScriptCanvasTools_Toggle_OpenCloseSuccess(self, request, workspace, editor, launcher_platform):
|
||||
from . import ScriptCanvasTools_Toggle_OpenCloseSuccess as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92568982")
|
||||
def test_NodeInspector_RenameVariable(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import NodeInspector_RenameVariable as test_module
|
||||
def test_NodeInspector_HappyPath_VariableRenames(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import NodeInspector_HappyPath_VariableRenames as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
def test_Debugger_HappyPath_TargetMultipleGraphs(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import Debugger_HappyPath_TargetMultipleGraphs as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92569137")
|
||||
def test_Debugging_TargetMultipleGraphs(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import Debugging_TargetMultipleGraphs as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92568856")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_Debugging_TargetMultipleEntities(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def test_Debugger_HappyPath_TargetMultipleEntities(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import Debugging_TargetMultipleEntities as test_module
|
||||
from . import Debugger_HappyPath_TargetMultipleEntities as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92569049", "T92569051")
|
||||
def test_EditMenu_UndoRedo(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import EditMenu_UndoRedo as test_module
|
||||
def test_EditMenu_Default_UndoRedo(self, request, workspace, editor, launcher_platform, project):
|
||||
from . import EditMenu_Default_UndoRedo as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("C1702825", "C1702831")
|
||||
def test_UnDockedPane_CloseSCWindow(self, request, workspace, editor, launcher_platform):
|
||||
from . import UnDockedPane_CloseSCWindow as test_module
|
||||
def test_Pane_Undocked_ClosesSuccessfully(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_Undocked_ClosesSuccessfully as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92562978")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_Entity_AddScriptCanvasComponent(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def test_Entity_HappyPath_AddScriptCanvasComponent(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import Entity_AddScriptCanvasComponent as test_module
|
||||
from . import Entity_HappyPath_AddScriptCanvasComponent as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("C1702821", "C1702832")
|
||||
def test_Pane_RetainOnSCRestart(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_RetainOnSCRestart as test_module
|
||||
def test_Pane_Default_RetainOnSCRestart(self, request, workspace, editor, launcher_platform):
|
||||
from . import Pane_Default_RetainOnSCRestart as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92567321")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_ScriptEvents_SendReceiveAcrossMultiple(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def test_ScriptEvents_HappyPath_SendReceiveAcrossMultiple(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptEvents_SendReceiveAcrossMultiple as test_module
|
||||
from . import ScriptEvents_HappyPath_SendReceiveAcrossMultiple as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.test_case_id("T92567320")
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
def test_ScriptEvents_SendReceiveSuccessfully(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def test_ScriptEvents_Default_SendReceiveSuccessfully(self, request, workspace, editor, launcher_platform, project, level):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.project(), "Levels", level)], True, True)
|
||||
from . import ScriptEvents_SendReceiveSuccessfully as test_module
|
||||
from . import ScriptEvents_Default_SendReceiveSuccessfully as test_module
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
|
||||
@pytest.mark.parametrize("level", ["tmp_level"])
|
||||
@@ -218,18 +200,16 @@ class TestScriptCanvasTests(object):
|
||||
The following tests use hydra_test_utils.py to launch the editor and validate the results.
|
||||
"""
|
||||
|
||||
@pytest.mark.test_case_id("T92569037", "T92569039")
|
||||
def test_FileMenu_New_Open(self, request, editor, launcher_platform):
|
||||
def test_FileMenu_Default_NewAndOpen(self, request, editor, launcher_platform):
|
||||
expected_lines = [
|
||||
"File->New action working as expected: True",
|
||||
"File->Open action working as expected: True",
|
||||
]
|
||||
hydra.launch_and_validate_results(
|
||||
request, TEST_DIRECTORY, editor, "FileMenu_New_Open.py", expected_lines, auto_test_mode=False, timeout=60,
|
||||
request, TEST_DIRECTORY, editor, "FileMenu_Default_NewAndOpen.py", expected_lines, auto_test_mode=False, timeout=60,
|
||||
)
|
||||
|
||||
@pytest.mark.test_case_id("T92568942")
|
||||
def test_AssetEditor_NewScriptEvent(self, request, editor, launcher_platform):
|
||||
def test_NewScriptEventButton_HappyPath_ContainsSCCategory(self, request, editor, launcher_platform):
|
||||
expected_lines = [
|
||||
"New Script event action found: True",
|
||||
"Asset Editor opened: True",
|
||||
@@ -240,14 +220,13 @@ class TestScriptCanvasTests(object):
|
||||
request,
|
||||
TEST_DIRECTORY,
|
||||
editor,
|
||||
"AssetEditor_NewScriptEvent.py",
|
||||
"NewScriptEventButton_HappyPath_ContainsSCCategory.py",
|
||||
expected_lines,
|
||||
auto_test_mode=False,
|
||||
timeout=60,
|
||||
)
|
||||
|
||||
@pytest.mark.test_case_id("T92563068", "T92563070")
|
||||
def test_GraphClose_SavePrompt(self, request, editor, launcher_platform):
|
||||
def test_GraphClose_Default_SavePrompt(self, request, editor, launcher_platform):
|
||||
expected_lines = [
|
||||
"New graph created: True",
|
||||
"Save prompt opened as expected: True",
|
||||
@@ -257,14 +236,13 @@ class TestScriptCanvasTests(object):
|
||||
request,
|
||||
TEST_DIRECTORY,
|
||||
editor,
|
||||
"GraphClose_SavePrompt.py",
|
||||
"GraphClose_Default_SavePrompt.py",
|
||||
expected_lines,
|
||||
auto_test_mode=False,
|
||||
timeout=60,
|
||||
)
|
||||
|
||||
@pytest.mark.test_case_id("T92564789", "T92568873")
|
||||
def test_VariableManager_CreateDeleteVars(self, request, editor, launcher_platform):
|
||||
def test_VariableManager_Default_CreateDeleteVars(self, request, editor, launcher_platform):
|
||||
var_types = ["Boolean", "Color", "EntityID", "Number", "String", "Transform", "Vector2", "Vector3", "Vector4"]
|
||||
expected_lines = [f"Success: {var_type} variable is created" for var_type in var_types]
|
||||
expected_lines.extend([f"Success: {var_type} variable is deleted" for var_type in var_types])
|
||||
@@ -272,8 +250,42 @@ class TestScriptCanvasTests(object):
|
||||
request,
|
||||
TEST_DIRECTORY,
|
||||
editor,
|
||||
"VariableManager_CreateDeleteVars.py",
|
||||
"VariableManager_Default_CreateDeleteVars.py",
|
||||
expected_lines,
|
||||
auto_test_mode=False,
|
||||
timeout=60,
|
||||
)
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"config",
|
||||
[
|
||||
{
|
||||
"cfg_args": "before_restart",
|
||||
"expected_lines": [
|
||||
"All the test panes are opened: True",
|
||||
"Test pane 1 is closed: True",
|
||||
"Location of test pane 2 changed successfully: True",
|
||||
"Test pane 3 resized successfully: True",
|
||||
],
|
||||
},
|
||||
{
|
||||
"cfg_args": "after_restart",
|
||||
"expected_lines": [
|
||||
"Test pane retained its visiblity on Editor restart: True",
|
||||
"Test pane retained its location on Editor restart: True",
|
||||
"Test pane retained its size on Editor restart: True",
|
||||
],
|
||||
},
|
||||
],
|
||||
)
|
||||
def test_Pane_PropertiesChanged_RetainsOnRestart(self, request, editor, config, project, launcher_platform):
|
||||
hydra.launch_and_validate_results(
|
||||
request,
|
||||
TEST_DIRECTORY,
|
||||
editor,
|
||||
"Pane_PropertiesChanged_RetainsOnRestart.py",
|
||||
config.get('expected_lines'),
|
||||
cfg_args=[config.get('cfg_args')],
|
||||
auto_test_mode=False,
|
||||
timeout=60,
|
||||
)
|
||||
+4
-11
@@ -7,18 +7,13 @@ distribution (the "License"). All use of this software is governed by the Licens
|
||||
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.
|
||||
|
||||
Test case ID: T92564789
|
||||
Test Case Title: Each Variable type can be created
|
||||
Test case ID: T92568873
|
||||
Test Case Title: Each Variable type can be deleted
|
||||
"""
|
||||
|
||||
|
||||
def VariableManager_CreateDeleteVars():
|
||||
def VariableManager_Default_CreateDeleteVars():
|
||||
"""
|
||||
Summary:
|
||||
Each variable type can be created and deleted in variable manager.
|
||||
Creating and deleting each type of variable in the Variable Manager pane
|
||||
|
||||
Expected Behavior:
|
||||
Each variable type can be created and deleted in variable manager.
|
||||
@@ -41,15 +36,13 @@ def VariableManager_CreateDeleteVars():
|
||||
"""
|
||||
|
||||
from PySide2 import QtWidgets, QtCore, QtTest
|
||||
|
||||
from PySide2.QtCore import Qt
|
||||
|
||||
from utils import TestHelper as helper
|
||||
import pyside_utils
|
||||
|
||||
import azlmbr.legacy.general as general
|
||||
|
||||
import pyside_utils
|
||||
|
||||
def generate_test_tuple(var_type, action):
|
||||
return (f"{var_type} variable is {action}d", f"{var_type} variable is not {action}d")
|
||||
|
||||
@@ -118,4 +111,4 @@ if __name__ == "__main__":
|
||||
imports.init()
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(VariableManager_CreateDeleteVars)
|
||||
Report.start_test(VariableManager_Default_CreateDeleteVars)
|
||||
@@ -115,7 +115,6 @@ if __name__ == "__main__":
|
||||
import ImportPathHelper as imports
|
||||
|
||||
imports.init()
|
||||
|
||||
from utils import Report
|
||||
|
||||
Report.start_test(VariableManager_UnpinVariableType_Works)
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
#
|
||||
# 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.
|
||||
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::SmokeTest
|
||||
TEST_SUITE smoke
|
||||
TEST_SERIAL
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}
|
||||
TIMEOUT 1500
|
||||
RUNTIME_DEPENDENCIES
|
||||
AZ::AssetProcessor
|
||||
AZ::PythonBindingsExample
|
||||
Legacy::Editor
|
||||
AutomatedTesting.GameLauncher
|
||||
AutomatedTesting.Assets
|
||||
COMPONENT
|
||||
Smoke
|
||||
)
|
||||
endif()
|
||||
@@ -0,0 +1,147 @@
|
||||
"""
|
||||
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.
|
||||
|
||||
|
||||
Test Case Title: Create Test for UI apps- Editor
|
||||
"""
|
||||
|
||||
|
||||
class Tests():
|
||||
level_created = ("Level created", "Failed to create level")
|
||||
entity_found = ("New Entity created in level", "Failed to create New Entity in level")
|
||||
mesh_added = ("Mesh Component added", "Failed to add Mesh Component")
|
||||
enter_game_mode = ("Game Mode successfully entered", "Failed to enter in Game Mode")
|
||||
exit_game_mode = ("Game Mode successfully exited", "Failed to exit in Game Mode")
|
||||
level_opened = ("Level opened successfully", "Failed to open level")
|
||||
level_exported = ("Level exported successfully", "Failed to export level")
|
||||
mesh_removed = ("Mesh Component removed", "Failed to remove Mesh Component")
|
||||
entity_deleted = ("Entity deleted", "Failed to delete Entity")
|
||||
level_edits_present = ("Level edits persist after saving", "Failed to save level edits after saving")
|
||||
|
||||
|
||||
def Editor_NewExistingLevels_Works():
|
||||
"""
|
||||
Summary: Perform the below operations on Editor
|
||||
|
||||
1) Launch & Close editor
|
||||
2) Create new level
|
||||
3) Saving and loading levels
|
||||
4) Level edits persist after saving
|
||||
5) Export Level
|
||||
6) Can switch to play mode (ctrl+g) and exit that
|
||||
7) Run editor python bindings test
|
||||
8) Create an Entity
|
||||
9) Delete an Entity
|
||||
10) Add a component to an Entity
|
||||
|
||||
Expected Behavior:
|
||||
All operations succeed and do not cause a crash
|
||||
|
||||
Test Steps:
|
||||
1) Launch editor and Create a new level
|
||||
2) Create a new entity
|
||||
3) Add Mesh component
|
||||
4) Verify enter/exit game mode
|
||||
5) Save, Load and Export level
|
||||
6) Remove Mesh component
|
||||
7) Delete entity
|
||||
8) Open an existing level
|
||||
9) Create a new entity in an existing level
|
||||
10) Save, Load and Export an existing level and close editor
|
||||
|
||||
Note:
|
||||
- This test file must be called from the Lumberyard Editor command terminal
|
||||
- Any passed and failed tests are written to the Editor.log file.
|
||||
Parsing the file or running a log_monitor are required to observe the test results.
|
||||
|
||||
:return: None
|
||||
"""
|
||||
|
||||
import os
|
||||
import editor_python_test_tools.hydra_editor_utils as hydra
|
||||
from editor_python_test_tools.utils import TestHelper as helper
|
||||
from editor_python_test_tools.utils import Report
|
||||
import azlmbr.bus as bus
|
||||
import azlmbr.editor as editor
|
||||
import azlmbr.legacy.general as general
|
||||
import azlmbr.math as math
|
||||
|
||||
# 1) Launch editor and Create a new level
|
||||
helper.init_idle()
|
||||
test_level_name = "temp_level"
|
||||
general.create_level_no_prompt(test_level_name, 128, 1, 128, False)
|
||||
helper.wait_for_condition(lambda: general.get_current_level_name() == test_level_name, 2.0)
|
||||
Report.result(Tests.level_created, general.get_current_level_name() == test_level_name)
|
||||
|
||||
# 2) Create a new entity
|
||||
entity_position = math.Vector3(200.0, 200.0, 38.0)
|
||||
new_entity = hydra.Entity("Entity1")
|
||||
new_entity.create_entity(entity_position, [])
|
||||
test_entity = hydra.find_entity_by_name("Entity1")
|
||||
Report.result(Tests.entity_found, test_entity.IsValid())
|
||||
|
||||
# 3) Add Mesh component
|
||||
new_entity.add_component("Mesh")
|
||||
Report.result(Tests.mesh_added, hydra.has_components(new_entity.id, ["Mesh"]))
|
||||
|
||||
# 4) Verify enter/exit game mode
|
||||
helper.enter_game_mode(Tests.enter_game_mode)
|
||||
helper.exit_game_mode(Tests.exit_game_mode)
|
||||
|
||||
# 5) Save, Load and Export level
|
||||
# Save Level
|
||||
general.save_level()
|
||||
# Open Level
|
||||
general.open_level(test_level_name)
|
||||
Report.result(Tests.level_opened, general.get_current_level_name() == test_level_name)
|
||||
# Export Level
|
||||
general.export_to_engine()
|
||||
level_pak_file = os.path.join("AutomatedTesting", "Levels", test_level_name, "level.pak")
|
||||
Report.result(Tests.level_exported, os.path.exists(level_pak_file))
|
||||
|
||||
# 6) Remove Mesh component
|
||||
new_entity.remove_component("Mesh")
|
||||
Report.result(Tests.mesh_removed, not hydra.has_components(new_entity.id, ["Mesh"]))
|
||||
|
||||
# 7) Delete entity
|
||||
editor.ToolsApplicationRequestBus(bus.Broadcast, "DeleteEntityById", new_entity.id)
|
||||
test_entity = hydra.find_entity_by_name("Entity1")
|
||||
Report.result(Tests.entity_deleted, len(test_entity) == 0)
|
||||
|
||||
# 8) Open an existing level
|
||||
general.open_level(test_level_name)
|
||||
Report.result(Tests.level_opened, general.get_current_level_name() == test_level_name)
|
||||
|
||||
# 9) Create a new entity in an existing level
|
||||
entity_position = math.Vector3(200.0, 200.0, 38.0)
|
||||
new_entity_2 = hydra.Entity("Entity2")
|
||||
new_entity_2.create_entity(entity_position, [])
|
||||
test_entity = hydra.find_entity_by_name("Entity2")
|
||||
Report.result(Tests.entity_found, test_entity.IsValid())
|
||||
|
||||
# 10) Save, Load and Export an existing level
|
||||
# Save Level
|
||||
general.save_level()
|
||||
# Open Level
|
||||
general.open_level(test_level_name)
|
||||
Report.result(Tests.level_opened, general.get_current_level_name() == test_level_name)
|
||||
entity_id = hydra.find_entity_by_name(new_entity_2.name)
|
||||
Report.result(Tests.level_edits_present, entity_id == new_entity_2.id)
|
||||
# Export Level
|
||||
general.export_to_engine()
|
||||
level_pak_file = os.path.join("AutomatedTesting", "Levels", test_level_name, "level.pak")
|
||||
Report.result(Tests.level_exported, os.path.exists(level_pak_file))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
from editor_python_test_tools.utils import Report
|
||||
|
||||
Report.start_test(Editor_NewExistingLevels_Works)
|
||||
@@ -0,0 +1,10 @@
|
||||
"""
|
||||
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,0 +1,33 @@
|
||||
"""
|
||||
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.
|
||||
|
||||
|
||||
CLI tool - AssetBuilder
|
||||
Launch AssetBuilder and Verify the help message
|
||||
"""
|
||||
|
||||
import os
|
||||
import pytest
|
||||
import subprocess
|
||||
|
||||
|
||||
@pytest.mark.SUITE_smoke
|
||||
class TestCLIToolAssetBuilderWorks(object):
|
||||
@pytest.mark.xfail(reason="Ignoring failure temporarily - SPEC-6905")
|
||||
def test_CLITool_AssetBuilder_Works(self, build_directory):
|
||||
file_path = os.path.join(build_directory, "AssetBuilder")
|
||||
help_message = "AssetBuilder is part of the Asset Processor"
|
||||
# Launch AssetBuilder
|
||||
output = subprocess.run([file_path, "-help"], capture_output=True, timeout=10)
|
||||
assert (
|
||||
len(output.stderr) == 0 and output.returncode == 0
|
||||
), f"Error occurred while launching {file_path}: {output.stderr}"
|
||||
# Verify help message
|
||||
assert help_message in str(output.stdout), f"Help Message: {help_message} is not present"
|
||||
@@ -0,0 +1,32 @@
|
||||
"""
|
||||
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.
|
||||
|
||||
|
||||
CLI tool - AssetBundlerBatch
|
||||
Launch AssetBundlerBatch and Verify the help message
|
||||
"""
|
||||
|
||||
import os
|
||||
import pytest
|
||||
import subprocess
|
||||
|
||||
|
||||
@pytest.mark.SUITE_smoke
|
||||
class TestCLIToolAssetBundlerBatchWorks(object):
|
||||
def test_CLITool_AssetBundlerBatch_Works(self, build_directory):
|
||||
file_path = os.path.join(build_directory, "AssetBundlerBatch")
|
||||
help_message = "Specifies the Seed List file to operate on by path"
|
||||
# Launch AssetBundlerBatch
|
||||
output = subprocess.run([file_path, "--help"], capture_output=True, timeout=10)
|
||||
assert (
|
||||
len(output.stderr) == 0 and output.returncode == 0
|
||||
), f"Error occurred while launching {file_path}: {output.stderr}"
|
||||
# Verify help message
|
||||
assert help_message in str(output.stdout), f"Help Message: {help_message} is not present"
|
||||
@@ -0,0 +1,26 @@
|
||||
"""
|
||||
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.
|
||||
|
||||
|
||||
CLI tool - AssetProcessorBatch
|
||||
Launch AssetProcessorBatch and Shutdown AssetProcessorBatch without any crash
|
||||
"""
|
||||
|
||||
import pytest
|
||||
|
||||
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
@pytest.mark.SUITE_smoke
|
||||
class TestsCLIToolAssetProcessorBatchWorks(object):
|
||||
def test_CLITool_AssetProcessorBatch_Works(self, workspace):
|
||||
"""
|
||||
Test Launching AssetProcessorBatch and verifies that is shuts down without issue
|
||||
"""
|
||||
workspace.asset_processor.batch_process()
|
||||
@@ -0,0 +1,34 @@
|
||||
"""
|
||||
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.
|
||||
|
||||
|
||||
CLI tool - AzTestRunner
|
||||
Launch AzTestRunner and Verify the help message
|
||||
"""
|
||||
|
||||
import os
|
||||
import pytest
|
||||
import subprocess
|
||||
|
||||
|
||||
@pytest.mark.SUITE_smoke
|
||||
class TestCLIToolAzTestRunnerWorks(object):
|
||||
def test_CLITool_AzTestRunner_Works(self, build_directory):
|
||||
file_path = os.path.join(build_directory, "AzTestRunner")
|
||||
help_message = "OKAY Symbol found: AzRunUnitTests"
|
||||
# Launch AzTestRunner
|
||||
output = subprocess.run(
|
||||
[file_path, "AzTestRunner.Tests", "AzRunUnitTests", "--gtest_list_tests"], capture_output=True, timeout=10
|
||||
)
|
||||
assert (
|
||||
len(output.stderr) == 0 and output.returncode == 0
|
||||
), f"Error occurred while launching {file_path}: {output.stderr}"
|
||||
# Verify help message
|
||||
assert help_message in str(output.stdout), f"Help Message: {help_message} is not present"
|
||||
@@ -0,0 +1,32 @@
|
||||
"""
|
||||
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.
|
||||
|
||||
|
||||
CLI tool - PythonBindingsExample
|
||||
Launch PythonBindingsExample and Verify the help message
|
||||
"""
|
||||
|
||||
import os
|
||||
import pytest
|
||||
import subprocess
|
||||
|
||||
|
||||
@pytest.mark.SUITE_smoke
|
||||
class TestCLIToolPythonBindingsExampleWorks(object):
|
||||
def test_CLITool_PythonBindingsExample_Works(self, build_directory):
|
||||
file_path = os.path.join(build_directory, "PythonBindingsExample")
|
||||
help_message = "--help Prints the help text"
|
||||
# Launch PythonBindingsExample
|
||||
output = subprocess.run([file_path, "-help"], capture_output=True, timeout=10)
|
||||
assert (
|
||||
len(output.stderr) == 0 and output.returncode == 1
|
||||
), f"Error occurred while launching {file_path}: {output.stderr}"
|
||||
# Verify help message
|
||||
assert help_message in str(output.stdout), f"Help Message: {help_message} is not present"
|
||||
@@ -0,0 +1,32 @@
|
||||
"""
|
||||
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.
|
||||
|
||||
|
||||
CLI tool - SerializeContextTools
|
||||
Launch SerializeContextTools and Verify the help message
|
||||
"""
|
||||
|
||||
import os
|
||||
import pytest
|
||||
import subprocess
|
||||
|
||||
|
||||
@pytest.mark.SUITE_smoke
|
||||
class TestCLIToolSerializeContextToolsWorks(object):
|
||||
def test_CLITool_SerializeContextTools_Works(self, build_directory):
|
||||
file_path = os.path.join(build_directory, "SerializeContextTools")
|
||||
help_message = "Converts a file with an ObjectStream to the new JSON"
|
||||
# Launch SerializeContextTools
|
||||
output = subprocess.run([file_path, "-help"], capture_output=True, timeout=10)
|
||||
assert (
|
||||
len(output.stderr) == 0 and output.returncode == 0
|
||||
), f"Error occurred while launching {file_path}: {output.stderr}"
|
||||
# Verify help message
|
||||
assert help_message in str(output.stdout), f"Help Message: {help_message} is not present"
|
||||
@@ -0,0 +1,32 @@
|
||||
"""
|
||||
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 pytest
|
||||
import os
|
||||
from automatedtesting_shared.base import TestAutomationBase
|
||||
import ly_test_tools.environment.file_system as file_system
|
||||
|
||||
|
||||
@pytest.mark.SUITE_smoke
|
||||
@pytest.mark.parametrize("launcher_platform", ["windows_editor"])
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
@pytest.mark.parametrize("level", ["temp_level"])
|
||||
class TestAutomation(TestAutomationBase):
|
||||
def test_Editor_NewExistingLevels_Works(self, request, workspace, editor, level, project, launcher_platform):
|
||||
def teardown():
|
||||
file_system.delete([os.path.join(workspace.paths.engine_root(), project, "Levels", level)], True, True)
|
||||
|
||||
request.addfinalizer(teardown)
|
||||
file_system.delete([os.path.join(workspace.paths.engine_root(), project, "Levels", level)], True, True)
|
||||
|
||||
from . import Editor_NewExistingLevels_Works as test_module
|
||||
|
||||
self._run_test(request, workspace, editor, test_module)
|
||||
@@ -0,0 +1,44 @@
|
||||
"""
|
||||
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.
|
||||
|
||||
|
||||
Static tool scripts
|
||||
Launch Static tool and Verify the help message
|
||||
"""
|
||||
|
||||
import os
|
||||
import pytest
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
|
||||
def verify_help_message(static_tool):
|
||||
help_message = ["--help", "show this help message and exit"]
|
||||
output = subprocess.run([sys.executable, static_tool, "-h"], capture_output=True)
|
||||
assert (
|
||||
len(output.stderr) == 0 and output.returncode == 0
|
||||
), f"Error occurred while launching {static_tool}: {output.stderr}"
|
||||
# verify help message
|
||||
for message in help_message:
|
||||
assert message in str(output.stdout), f"Help Message: {message} is not present"
|
||||
|
||||
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
@pytest.mark.SUITE_smoke
|
||||
class TestStaticToolsGenPakShadersWorks(object):
|
||||
def test_StaticTools_GenPakShaders_Works(self, editor):
|
||||
static_tools = [
|
||||
os.path.join(editor.workspace.paths.engine_root(), "scripts", "bundler", "gen_shaders.py"),
|
||||
os.path.join(editor.workspace.paths.engine_root(), "scripts", "bundler", "get_shader_list.py"),
|
||||
os.path.join(editor.workspace.paths.engine_root(), "scripts", "bundler", "pak_shaders.py"),
|
||||
]
|
||||
|
||||
for tool in static_tools:
|
||||
verify_help_message(tool)
|
||||
@@ -0,0 +1,39 @@
|
||||
"""
|
||||
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.
|
||||
|
||||
|
||||
UI Apps: AssetProcessor
|
||||
Open AssetProcessor, Wait until AssetProcessor is Idle
|
||||
Close AssetProcessor.
|
||||
"""
|
||||
|
||||
|
||||
import pytest
|
||||
from ly_test_tools.o3de.asset_processor import AssetProcessor
|
||||
|
||||
|
||||
@pytest.mark.parametrize("project", ["AutomatedTesting"])
|
||||
@pytest.mark.SUITE_smoke
|
||||
class TestsUIAppsAssetProcessorCheckIdle(object):
|
||||
@pytest.fixture(autouse=True)
|
||||
def setup_teardown(self, request):
|
||||
self.asset_processor = None
|
||||
|
||||
def teardown():
|
||||
self.asset_processor.stop()
|
||||
|
||||
request.addfinalizer(teardown)
|
||||
|
||||
def test_UIApps_AssetProcessor_CheckIdle(self, workspace):
|
||||
"""
|
||||
Test Launching AssetProcessorBatch and verifies that is shuts down without issue
|
||||
"""
|
||||
self.asset_processor = AssetProcessor(workspace)
|
||||
self.asset_processor.gui_process()
|
||||
@@ -0,0 +1,24 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
# Unstable, SPEC-3838 will restore
|
||||
#ly_add_pytest(
|
||||
# NAME AutomatedTesting::asset_load_benchmark_test
|
||||
# TEST_SERIAL
|
||||
# TEST_SUITE benchmark
|
||||
# PATH ${CMAKE_CURRENT_LIST_DIR}/benchmark/asset_load_benchmark_test.py
|
||||
# RUNTIME_DEPENDENCIES
|
||||
# AZ::AssetProcessor
|
||||
# AZ::AssetProcessorBatch
|
||||
# AutomatedTesting.GameLauncher
|
||||
#)
|
||||
endif()
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e1218e785966cba2973af5fcc2adeea81399ef4b9ceee9713e430d14090317bd
|
||||
size 272849
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
|
||||
size 1310792
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:259892d63259cdc7b0cbee64c979d917820ea2bb402397ef63a3383ea5146b0a
|
||||
size 132288
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
|
||||
size 262184
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:259892d63259cdc7b0cbee64c979d917820ea2bb402397ef63a3383ea5146b0a
|
||||
size 132288
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
|
||||
size 262184
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6f5b950e0dcd47ada8f34dc9f64976ebe156aeedb92d7e6d3467efbeddb3baa2
|
||||
size 17407674
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
|
||||
size 1310792
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ae30a71535b7283f4b19a0dee09ad98afc2d23e127d3da53c4da76650c0d9698
|
||||
size 17407642
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
|
||||
size 1310792
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5080ffd65c2c76fbd5db96f75496dae7d4992dfc2f6a5e9514345e1d74422143
|
||||
size 17407562
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
|
||||
size 1310792
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e9018429c312bced4975ab9e4d5cd6420a2fc8605b7d0929334dfd7dff50a79b
|
||||
size 272967
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
|
||||
size 262184
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2a53b3ffe745f824431028cc36d1990f55e9303bff99542f8ee3b85cd4417636
|
||||
size 272903
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
|
||||
size 262184
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:35fa1fc96e3092de7200533183d875fe19585ca292e01af24dcc82497c8d400a
|
||||
size 17407562
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
|
||||
size 1310792
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:93c2de86abea5c70845480f09dd86e9aebf2084c8e26444eee846ad9a3b18fe0
|
||||
size 17407562
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
|
||||
size 1310792
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:65464a758912e1dc2cdd39606fe86d05315336635a42a659734b3755f6e4ad4c
|
||||
size 17407562
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
|
||||
size 1310792
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5517e2cd05060859a9e010f9df1f410a7fc9739a8ec6adbc0e214b894a7eef21
|
||||
size 272903
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
|
||||
size 262184
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:55f771fb360a8b7a6d12e9b0e5f8824f9567d1869cb2757b7a3263539d03db1f
|
||||
size 17407561
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
|
||||
size 1310792
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b7718b09645345926ac1f59513114f64c6e146a49fac69f2835ce20c831953d7
|
||||
size 17407562
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
|
||||
size 1310792
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:3b10f68c7f64dd775e6abc3250c019c1efdf498822b77bd98efb8f8c19513c0e
|
||||
size 17407562
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
|
||||
size 1310792
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:646140ed507ea073e2472196661b204694d686142536e1912b173376324b302a
|
||||
size 274291
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
|
||||
size 262184
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:965f0dd885e93c25183390a87675b5aef1d24d374ededc5e073a98e15318858e
|
||||
size 272903
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
|
||||
size 262184
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:e9487342e768620c77288e3b8019ade03cd12eb1c19067b5d6408a185a62203e
|
||||
size 272967
|
||||
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d4bb4e2ab7876994431f3e6e78a004ea5718e057077b37db14ea8a52637338be
|
||||
size 262184
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:54b2dc4c443ea1e9b9aaed9d2aef1227ddeeac7db728b699cacd08811c81db8f
|
||||
size 17407562
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
|
||||
size 1310792
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ae84e1cb4cc4d54cb4cccb361663f8a4bb214e95ad0023cdd068657ef4705e43
|
||||
size 17407562
|
||||
-3
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fdab340ad6c6dc6c1167e31afa061684be083360fc4108fa9f1fa4b15fe95d8c
|
||||
size 1310792
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user