test_packages.gni 4.0 KB
# Copyright (C) 2021 Huawei Device Co., Ltd.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

import("//test/xts/tools/build/suite.gni")

_all_test_packages = [
  "${ACTS_ROOT}/global:global",
  "${ACTS_ROOT}/security:security",
  "${ACTS_ROOT}/useriam:useriam",
  "${ACTS_ROOT}/multimedia:multimedia",
  "${ACTS_ROOT}/appexecfwk:appexecfwk",
  "${ACTS_ROOT}/account:account",
  "${ACTS_ROOT}/communication:communication",
  "${ACTS_ROOT}/notification:notification",
  "${ACTS_ROOT}/aafwk:aafwk",
  "${ACTS_ROOT}/miscservices:miscservices",
  "${ACTS_ROOT}/powermgr:powermgr",
  "${ACTS_ROOT}/startup:startup",
  "${ACTS_ROOT}/sensors:sensor",
  "${ACTS_ROOT}/distributeddatamgr:distributeddatamgr",
  "${ACTS_ROOT}/updater:update",
  "${ACTS_ROOT}/graphic:graphic",
  "${ACTS_ROOT}/ace:ace",
  "${ACTS_ROOT}/storage:storage",
  "${ACTS_ROOT}/distributedhardware:distributedhardware",
  "${ACTS_ROOT}/compileruntime:compileruntime",
  "${ACTS_ROOT}/usb:usb",
  "${ACTS_ROOT}/multimodalinput:multimodalinput",
  "${ACTS_ROOT}/resourceschedule:resourceschedule",
  "${ACTS_ROOT}/telephony:telephony",
  "${ACTS_ROOT}/hiviewdfx:hiviewdfxtestacts",
  "${ACTS_ROOT}/location:location",
  "${ACTS_ROOT}/settingsdata:settingsdata",
  "${ACTS_ROOT}/barrierfree:barrierfree",
  "${ACTS_ROOT}/customization:customization",
]

_all_test_packages_ivi = [
  # add acts for ivi here
  # "${ACTS_ROOT}/multimedia:multimedia_ivi",
]

_all_test_packages_intellitv = [
  # add acts for intellitv here
  "${ACTS_ROOT}/multimedia:multimedia_intellitv",
]

_all_test_packages_wearable = [
  # add acts for wearable here
  "${ACTS_ROOT}/multimedia:multimedia_wearable",
]

selected_packages_wearable = []
selected_packages_intellitv = []
selected_packages_ivi = []
selected_packages = []
assert(XTS_SUITENAME != "")
if (build_xts == true && XTS_SUITENAME == "acts") {
  _select_script = "//test/xts/tools/build/test_package_select.py"
  _subsystem_config_path = rebase_path(
          "$root_build_dir/build_configs/subsystem_info/src_subsystem_info.json")
  _select_args = [ _subsystem_config_path ] + _all_test_packages
  _select_args_ivi = [ _subsystem_config_path ] + _all_test_packages_ivi
  _select_args_intellitv =
      [ _subsystem_config_path ] + _all_test_packages_intellitv
  _select_args_wearable =
      [ _subsystem_config_path ] + _all_test_packages_wearable
  _target_subsystem = getenv("target_subsystem")

  if (_target_subsystem != "" && _target_subsystem != "all") {
    print("Build acts, target_subsystem=" + _target_subsystem)
    _select_args += [ "selected_subsystem=" + _target_subsystem ]
    _select_args_ivi += [ "selected_subsystem=" + _target_subsystem ]
    _select_args_intellitv += [ "selected_subsystem=" + _target_subsystem ]
    _select_args_wearable += [ "selected_subsystem=" + _target_subsystem ]
  }

  selected_packages = exec_script(_select_script, _select_args, "list lines")

  selected_packages_ivi =
      exec_script(_select_script, _select_args_ivi, "list lines")

  selected_packages_intellitv =
      exec_script(_select_script, _select_args_intellitv, "list lines")

  selected_packages_wearable =
      exec_script(_select_script, _select_args_wearable, "list lines")

  print("Selected packages:")
  print(selected_packages)

  # always include testtools
  selected_packages += [ "testtools:deploy_testtools" ]
  selected_packages_ivi += [ "testtools:deploy_testtools" ]
  selected_packages_intellitv += [ "testtools:deploy_testtools" ]
  selected_packages_wearable += [ "testtools:deploy_testtools" ]
} else {
  print("ACTS build is not enabled")
}