Added an assert to verify AP and AP Batch close on teardown. (#5891)

* Added an assert to verify AP and AP Batch close on teardown.

Signed-off-by: Rosario Cox <lesaelr@amazon.com>

* Removed ".exe" from assert to ensure it works on any platform
Fixed missing set of parenthesis in the assert
Added "AssetBuilder" to the assert to ensure assetbuilders have closed correctly

Signed-off-by: Rosario Cox <lesaelr@amazon.com>

* Moving the helper function from asset_processor_fixture to asset_processor_utils.
Changed individual process_utils calls into a single call with a list.

Signed-off-by: Rosario Cox <lesaelr@amazon.com>

* Added the missing references.

Signed-off-by: Rosario Cox <lesaelr@amazon.com>
monroegm-disable-blank-issue-2
LesaelR 4 years ago committed by GitHub
parent 7a0282a534
commit 0498e4a9c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -15,6 +15,7 @@ import logging
# Import LyTestTools
import ly_test_tools.o3de.asset_processor as asset_processor_commands
import ly_test_tools.o3de.asset_processor_utils
logger = logging.getLogger(__name__)
@ -36,5 +37,8 @@ def asset_processor(request: pytest.fixture, workspace: pytest.fixture) -> asset
ap.stop()
request.addfinalizer(teardown)
for n in ly_test_tools.o3de.asset_processor_utils.processList:
assert not ly_test_tools.o3de.asset_processor_utils.check_ap_running(n), f"{n} process did not shutdown correctly."
return ap

@ -8,11 +8,12 @@ SPDX-License-Identifier: Apache-2.0 OR MIT
import logging
import os
import subprocess
import psutil
import ly_test_tools.environment.process_utils as process_utils
logger = logging.getLogger(__name__)
processList = ["AssetProcessor_tmp","AssetProcessor","AssetProcessorBatch","AssetBuilder","rc","Lua Editor"]
def start_asset_processor(bin_dir):
"""
@ -39,9 +40,16 @@ def kill_asset_processor():
:return: None
"""
process_utils.kill_processes_named('AssetProcessor_tmp', ignore_extensions=True)
process_utils.kill_processes_named('AssetProcessor', ignore_extensions=True)
process_utils.kill_processes_named('AssetProcessorBatch', ignore_extensions=True)
process_utils.kill_processes_named('AssetBuilder', ignore_extensions=True)
process_utils.kill_processes_named('rc', ignore_extensions=True)
process_utils.kill_processes_named('Lua Editor', ignore_extensions=True)
for n in processList:
process_utils.kill_processes_named(n, ignore_extensions=True)
# Uses psutil to check if a specified process is running.
def check_ap_running(processName):
for proc in psutil.process_iter():
try:
if processName.lower() in proc.name().lower():
return True
except (psutil.AccessDenied, psutil.NoSuchProcess, psutil.ZombieProcess):
pass
return False

Loading…
Cancel
Save