Merge pull request #77 from aws-lumberyard-dev/platform/SPEC-6061

SPEC-6061 Fixes for android nightly unit tests
This commit is contained in:
Steve Pham
2021-04-17 09:21:05 -07:00
committed by GitHub
2 changed files with 19 additions and 4 deletions
+6 -3
View File
@@ -628,8 +628,8 @@ def get_test_module_registry(build_dir_path):
test_module_items = unit_test_json['Amazon']
for _, test_module_item in test_module_items.items():
module_file = test_module_item['Modules']
dep_modules.append(module_file)
module_files = test_module_item['Modules']
dep_modules.extend(module_files)
except FileNotFoundError:
raise LmbrCmdError(f"Unit test registry not found ('{str(unit_test_module_path)}')")
@@ -659,7 +659,10 @@ def get_validated_test_modules(test_modules, build_dir_path):
for test_target_check in test_modules:
if test_target_check not in all_test_modules:
raise LmbrCmdError(f"Invalid test module {test_target_check}")
validated_test_modules.append(test_target_check)
if isinstance(test_target_check, list):
validated_test_modules.extend(test_target_check)
else:
validated_test_modules.append(test_target_check)
else:
validated_test_modules = all_test_modules
@@ -20,7 +20,8 @@ import logging
CURRENT_PATH = pathlib.Path(os.path.dirname(__file__)).absolute()
ENGINE_ROOT = CURRENT_PATH.parent.parent.parent.parent.parent.parent
# The engine root is based on the location of this file (<ENGINE_ROOT>/scripts/build/Platform/Android). Walk up to calculate the engine root
ENGINE_ROOT = CURRENT_PATH.parents[3]
class AndroidEmuError(Exception):
@@ -194,6 +195,14 @@ class AndroidEmulatorManager(object):
return installed_packages, available_packages, available_updates
def update_installed_sdks(self):
"""
Run an SDK Manager update to make sure the SDKs are all up-to-date
"""
logging.info(f"Updating android SDK...")
self.sdk_manager_cmd.run(['--update'])
def install_system_package_if_necessary(self):
"""
Make sure that we have the correct system image installed, and install if not
@@ -503,6 +512,9 @@ def process_unit_test_on_simulator(base_android_sdk_path, build_path, build_conf
manager = AndroidEmulatorManager(base_android_sdk_path=base_android_sdk_path,
force_avd_creation=True)
# Make sure that the android SDK is up to date
manager.update_installed_sdks()
# First Install or overwrite the unit test emulator
manager.install_unit_test_avd()