f44f06c9f0
* AssImp set to be the default FBX processor (#78) If you encounter issues, reach out to the Helios team with details, and then switch back to FBX SDK locally by changing FBXImporter.h * Merge pull request #219 from aws-lumberyard-dev/sceneapi_scripting LYN-3030: Fix to export_chunks_builder.py to match the AssImp node paths * Hide some automated test folders from the asset processor for automatedtesting. This is necessary because these assets should only be processed when running the test, and not any time AP is launched for this project. * Putting these test assets back to visible to Asset Processor. These tests need to be updated at some point to handle that, but they won't work with this change for now. Note that until this is addressed, these tests may randomly time out if they're the first tests run on a clean asset processor, and these tests launch AP without using a unique port, so the test can also fail if an Asset Processor executable is hanging open. Grabbed the change I missed from the 1.0 branch merge, no idea how this got lost. * Moved from main to periodic. Allen and Fuzzy were already on board, and I think with the potential flakiness in this test, we don't want this in main. Co-authored-by: jackalbe <23512001+jackalbe@users.noreply.github.com>
57 lines
3.1 KiB
Python
57 lines
3.1 KiB
Python
"""
|
|
All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
|
its licensors.
|
|
|
|
For complete copyright and license terms please see the LICENSE at the root of this
|
|
distribution (the "License"). All use of this software is governed by the License,
|
|
or, if provided, by the license below or the license accompanying this file. Do not
|
|
remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
"""
|
|
#
|
|
# This launches the AssetProcessor and Editor then attempts to find the expected
|
|
# assets created by a Python Asset Builder and the output of a scene pipeline script
|
|
#
|
|
import sys
|
|
import os
|
|
import pytest
|
|
import logging
|
|
pytest.importorskip('ly_test_tools')
|
|
|
|
import ly_test_tools.environment.file_system as file_system
|
|
import ly_test_tools.log.log_monitor
|
|
import ly_test_tools.environment.waiter as waiter
|
|
|
|
@pytest.mark.SUITE_periodic
|
|
@pytest.mark.parametrize('launcher_platform', ['windows_editor'])
|
|
@pytest.mark.parametrize('project', ['AutomatedTesting'])
|
|
@pytest.mark.parametrize('level', ['auto_test'])
|
|
class TestPythonAssetProcessing(object):
|
|
def test_DetectPythonCreatedAsset(self, request, editor, level, launcher_platform):
|
|
unexpected_lines = []
|
|
expected_lines = [
|
|
'Mock asset exists',
|
|
'Expected subId for asset (gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_z_positive_1.azmodel) found',
|
|
'Expected subId for asset (gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_z_negative_1.azmodel) found',
|
|
'Expected subId for asset (gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_y_positive_1.azmodel) found',
|
|
'Expected subId for asset (gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_y_negative_1.azmodel) found',
|
|
'Expected subId for asset (gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_x_positive_1.azmodel) found',
|
|
'Expected subId for asset (gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_x_negative_1.azmodel) found',
|
|
'Expected subId for asset (gem/pythontests/pythonassetbuilder/geom_group_fbx_cube_100cm_center_1.azmodel) found'
|
|
]
|
|
timeout = 180
|
|
halt_on_unexpected = False
|
|
test_directory = os.path.join(os.path.dirname(__file__))
|
|
testFile = os.path.join(test_directory, 'AssetBuilder_test_case.py')
|
|
editor.args.extend(['-NullRenderer', "--skipWelcomeScreenDialog", "--autotest_mode", "--runpythontest", testFile])
|
|
|
|
with editor.start():
|
|
editorlog_file = os.path.join(editor.workspace.paths.project_log(), 'Editor.log')
|
|
log_monitor = ly_test_tools.log.log_monitor.LogMonitor(editor, editorlog_file)
|
|
waiter.wait_for(
|
|
lambda: editor.is_alive(),
|
|
timeout,
|
|
exc=("Log file '{}' was never opened by another process.".format(editorlog_file)),
|
|
interval=1)
|
|
log_monitor.monitor_log_for_lines(expected_lines, unexpected_lines, halt_on_unexpected, timeout)
|