blob: f1a27ab5fd15bc4b3d4654da435e945774bfa183 [file] [log] [blame]
import site
site.main()
import argparse
import logging
import os
import sys
from argparse import Namespace
from mobly import suite_runner
from typing import List, Tuple
_BUMBLE_BTSNOOP_FMT = 'bumble_btsnoop_{pid}_{instance}.log'
# Import test cases modules.
import asha_test
import cases.host_test
import cases.le_host_test
import cases.le_security_test
import cases.security_test
import gatt_test
import smp_test
_TEST_CLASSES_LIST = [
cases.host_test.HostTest,
cases.le_host_test.LeHostTest,
cases.security_test.SecurityTest,
cases.le_security_test.LeSecurityTest,
smp_test.SmpTest,
gatt_test.GattTest,
asha_test.AshaTest,
]
def _parse_cli_args() -> Tuple[Namespace, List[str]]:
parser = argparse.ArgumentParser(description='Avatar test runner.')
parser.add_argument('-o', '--log_path', type=str, metavar='<PATH>', help='Path to the test configuration file.')
return parser.parse_known_args()
if __name__ == "__main__":
logging.basicConfig(level=logging.INFO)
# This is a hack for `tradefed` because of `b/166468397`.
if '--' in sys.argv:
index = sys.argv.index('--')
sys.argv = sys.argv[:1] + sys.argv[index + 1 :]
# Enable bumble snoop logger.
ns, argv = _parse_cli_args()
if ns.log_path:
os.environ.setdefault('BUMBLE_SNOOPER', f'btsnoop:file:{ns.log_path}/{_BUMBLE_BTSNOOP_FMT}')
# Run the test suite.
suite_runner.run_suite(_TEST_CLASSES_LIST, argv) # type: ignore