# Copyright (c) 2023-2023 Huawei Device Co., Ltd. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification,
# are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this list of
#    conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice, this list
#    of conditions and the following disclaimer in the documentation and/or other materials
#    provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its contributors may be used
#    to endorse or promote products derived from this software without specific prior written
#    permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

import("//build/lite/config/test.gni")
import("//kernel/liteos_a/liteos.gni")
import("//kernel/liteos_a/testsuites/unittest/config.gni")

common_include_dirs = [
  "$THIRDPARTY_GOOGLETEST_DIR/googletest/include",
  "../common/include",
  "$TEST_UNITTEST_DIR/container",
]

sources_entry = [ "$TEST_UNITTEST_DIR/container/It_container_test.cpp" ]

sources_smoke = [ "$TEST_UNITTEST_DIR/container/smoke/It_container_001.cpp" ]

sources_full = []

if (defined(LOSCFG_USER_TEST_PID_CONTAINER)) {
  sources_smoke += [
    "$TEST_UNITTEST_DIR/container/smoke/It_pid_container_023.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_pid_container_025.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_pid_container_026.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_pid_container_027.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_pid_container_028.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_pid_container_029.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_pid_container_030.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_pid_container_031.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_pid_container_032.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_pid_container_033.cpp",
  ]
  sources_full += [
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_001.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_002.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_003.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_004.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_005.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_006.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_007.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_008.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_009.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_010.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_011.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_012.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_013.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_014.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_015.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_016.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_017.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_018.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_019.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_020.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_021.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_022.cpp",
    "$TEST_UNITTEST_DIR/container/full/It_pid_container_024.cpp",
  ]
}
if (defined(LOSCFG_USER_TEST_UTS_CONTAINER)) {
  sources_smoke += [
    "$TEST_UNITTEST_DIR/container/smoke/It_uts_container_001.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_uts_container_002.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_uts_container_004.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_uts_container_005.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_uts_container_006.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_uts_container_007.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_uts_container_008.cpp",
  ]
  sources_full +=
      [ "$TEST_UNITTEST_DIR/container/full/It_uts_container_003.cpp" ]
}
if (defined(LOSCFG_USER_TEST_MNT_CONTAINER)) {
  sources_smoke += [
    "$TEST_UNITTEST_DIR/container/smoke/It_container_chroot_001.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_container_chroot_002.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_mnt_container_001.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_mnt_container_002.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_mnt_container_003.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_mnt_container_004.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_mnt_container_005.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_mnt_container_006.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_mnt_container_007.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_mnt_container_008.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_mnt_container_009.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_mnt_container_010.cpp",
  ]
}

if (defined(LOSCFG_USER_TEST_IPC_CONTAINER)) {
  sources_smoke += [
    "$TEST_UNITTEST_DIR/container/smoke/It_ipc_container_001.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_ipc_container_002.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_ipc_container_003.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_ipc_container_004.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_ipc_container_005.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_ipc_container_006.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_ipc_container_007.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_ipc_container_008.cpp",
  ]
}

if (defined(LOSCFG_USER_TEST_TIME_CONTAINER)) {
  sources_smoke += [
    "$TEST_UNITTEST_DIR/container/smoke/It_time_container_001.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_time_container_002.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_time_container_003.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_time_container_004.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_time_container_005.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_time_container_006.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_time_container_007.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_time_container_008.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_time_container_009.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_time_container_010.cpp",
  ]
}

if (defined(LOSCFG_USER_TEST_USER_CONTAINER)) {
  sources_smoke += [
    "$TEST_UNITTEST_DIR/container/smoke/It_user_container_001.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_user_container_002.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_user_container_003.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_user_container_004.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_user_container_006.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_user_container_007.cpp",
  ]
  sources_full +=
      [ "$TEST_UNITTEST_DIR/container/full/It_user_container_005.cpp" ]
}
if (defined(LOSCFG_USER_TEST_NET_CONTAINER)) {
  sources_smoke += [
    "$TEST_UNITTEST_DIR/container/smoke/It_net_container_001.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_net_container_002.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_net_container_003.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_net_container_004.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_net_container_005.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_net_container_006.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_net_container_007.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_net_container_008.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_net_container_009.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_net_container_011.cpp",
    "$TEST_UNITTEST_DIR/container/smoke/It_net_container_012.cpp",
  ]
  sources_full +=
      [ "$TEST_UNITTEST_DIR/container/full/It_net_container_010.cpp" ]
}
