blob: 90ca487fcfe1270268fce8540c8bb90fa9cf030e [file]
# Lint as: python3
"""Recipe for running eurtest e2e tests against a particular build."""
import os
from slave import base_recipe
from slave.recipe import clang_builder
from slave.step import cast_shell_step
from slave.step import py_env_setup_step
from slave.step import py_test_step
DEFAULT_E2E_TEST_TIMEOUT_SECONDS = 3600
SHELL_TO_BUILD = 'displayassistant_grte_opal_eng'
TEST_FILE_FILTER_REGEX = (
r'test/eurtest/tests/assistant/presubmit_tests/.*_test_case.py$')
def GetValidBuildNames():
return ['py_e2e_test_eurtest_assistant']
def CreateRecipe(build_name: str, **kwargs):
"""Builds a recipe object."""
if build_name != 'py_e2e_test_eurtest_assistant':
raise base_recipe.BuildNameNotSupportedError(build_name)
return EurtestE2ERecipe(**kwargs)
class EurtestE2ERecipe(base_recipe.BaseRecipe):
"""Recipe to run e2e tests on a repository."""
def __init__(self,
**kwargs):
super().__init__(
enable_build_accelerator=True,
**kwargs)
def get_steps(self):
build_shell_config = clang_builder.BUILD_CONFIGS['displayassistant_grte_opal_eng']
build_branding = build_shell_config.get('build_branding', None)
build_arch = build_shell_config.get('build_arch', None)
build_product = build_shell_config.get('build_product', None)
build_flavor = build_shell_config.get('build_flavor', None)
enable_assistant = build_shell_config.get('enable_assistant', False)
build_args_official = build_shell_config.get('build_args_official', None)
grte_compatible = build_shell_config.get('grte_compatible', False)
build_args_product = build_shell_config.get('build_args_product', None)
additional_import_paths = [
self._eureka_root / path for path
in (
'builder/masters',
'builder/masters/src',
'chromium/src/third_party/catapult/telemetry',
'chromium/src/chromecast/internal',
'chromium/src/chromecast/tools',
'continuous-tests',
'continuous-tests/cq/scripts',
'test',
'testing/external/autotest',
'testing/external/chromite',
'testing/sprockets',
)]
return [
cast_shell_step.CastShellStep(
build_branding, build_arch, build_product,
build_flavor, enable_assistant,
build_args_official=build_args_official,
code_coverage=False, grte_compatible=grte_compatible,
build_args_product=build_args_product, halt_on_failure=True,
sanitizer=None, archive_to_tmp=True, **self._step_kwargs),
py_env_setup_step.PyEnvSetupStep(
additional_import_paths=additional_import_paths,
local_packages_dir='team-catatester/python_packages',
py3=True,
requirements_path='lab_system/requirements3.txt',
requirements_project='test',
**self._step_kwargs),
py_test_step.PyTestStep(
project='test',
test_file_filter_regex=TEST_FILE_FILTER_REGEX,
timeout=DEFAULT_E2E_TEST_TIMEOUT_SECONDS,
**self._step_kwargs)
]