1# Copyright (c) 2013-2019 Huawei Technologies Co., Ltd. All rights reserved. 2# Copyright (c) 2020-2021 Huawei Device Co., Ltd. All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without modification, 5# are permitted provided that the following conditions are met: 6# 7# 1. Redistributions of source code must retain the above copyright notice, this list of 8# conditions and the following disclaimer. 9# 10# 2. Redistributions in binary form must reproduce the above copyright notice, this list 11# of conditions and the following disclaimer in the documentation and/or other materials 12# provided with the distribution. 13# 14# 3. Neither the name of the copyright holder nor the names of its contributors may be used 15# to endorse or promote products derived from this software without specific prior written 16# permission. 17# 18# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 20# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 21# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 22# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 23# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 24# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 25# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 26# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 27# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 28# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 30import("//kernel/liteos_a/liteos.gni") 31 32declare_args() { 33 LOSCFG_ENABLE_KERNEL_TEST = false 34 LOSCFG_TEST_KERNEL_BASE = true 35 LOSCFG_TEST_KERNEL_EXTEND_CPUP = false 36 LOSCFG_TEST_POSIX = false 37} 38 39config("liteos_kernel_test_public") { 40 cflags = [ "-Wno-error" ] 41 include_dirs = [ 42 "$LITEOSTOPDIR/kernel/include", 43 "$LITEOSTOPDIR/kernel/base/include", 44 "$LITEOSTOPDIR/kernel/common", 45 "$LITEOSTOPDIR/arch/arm/arm/include", 46 "$LITEOSTOPDIR/arch/arm/include", 47 "$LITEOSTOPDIR/extended/include", 48 "$THIRDPARTY_MUSL_DIR/porting/liteos_a/kernel/include", 49 "$THIRDPARTY_BOUNDS_CHECKING_FUNCTION_DIR/include/", 50 "$LITEOSTOPDIR/lib/libscrew/include", 51 "$LITEOSTOPDIR/fs/vfs", 52 "$LITEOSTOPDIR/fs/proc/include", 53 "$LITEOSTOPDIR/fs/jffs2/include", 54 "$LITEOSTOPDIR/fs/nfs/include", 55 "$LITEOSTOPDIR/bsd/compat/linuxkpi/include", 56 "include", 57 ] 58 59 if (LOSCFG_TEST_KERNEL_BASE) { 60 cflags += [ "-DLOSCFG_TEST_KERNEL_BASE=1" ] 61 } 62 if (LOSCFG_TEST_KERNEL_EXTEND_CPUP) { 63 cflags += [ "-DLOSCFG_TEST_KERNEL_EXTEND_CPUP=1" ] 64 } 65 if (LOSCFG_TEST_POSIX) { 66 cflags += [ "-DLOSCFG_TEST_POSIX=1" ] 67 } 68} 69 70group("kernel_test") { 71 deps = [] 72 73 if (LOSCFG_ENABLE_KERNEL_TEST) { 74 deps += [ ":test_base" ] 75 76 if (LOSCFG_TEST_KERNEL_BASE) { 77 deps += [ "sample/kernel_base:kernel_base" ] 78 } 79 80 # KERNEL EXTEND TEST 81 if (LOSCFG_TEST_KERNEL_EXTEND_CPUP) { 82 deps += [ "sample/kernel_extend/cpup:test_cpup" ] 83 } 84 85 # COMPAT TEST 86 if (LOSCFG_TEST_POSIX) { 87 deps += [ "sample/posix:test_posix" ] 88 } 89 } 90} 91 92kernel_module("test_base") { 93 sources = [ 94 "src/iCunit.c", 95 "src/osTest.c", 96 ] 97 98 public_configs = [ ":liteos_kernel_test_public" ] 99} 100