338 lines
10 KiB
Makefile
338 lines
10 KiB
Makefile
# Copyright (C) 2019 The Android Open Source Project
|
|
#
|
|
# 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.
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
# TODO: move tests into Soong after refactoring sepolicy module (b/130693869)
|
|
|
|
# Run host-side test with contexts files and the sepolicy file.
|
|
# $(1): names of modules containing context files
|
|
# $(2): path to the host tool
|
|
# $(3): additional argument to be passed to the tool
|
|
define run_contexts_test
|
|
my_contexts := $(foreach m,$(1),$$(call intermediates-dir-for,ETC,$(m))/$(m))
|
|
$$(LOCAL_BUILT_MODULE): PRIVATE_CONTEXTS := $$(my_contexts)
|
|
$$(LOCAL_BUILT_MODULE): PRIVATE_SEPOLICY := $$(built_sepolicy)
|
|
$$(LOCAL_BUILT_MODULE): $(2) $$(my_contexts) $$(built_sepolicy)
|
|
$$(hide) $$< $(3) $$(PRIVATE_SEPOLICY) $$(PRIVATE_CONTEXTS)
|
|
$$(hide) mkdir -p $$(dir $$@)
|
|
$$(hide) touch $$@
|
|
my_contexts :=
|
|
endef
|
|
|
|
checkfc := $(HOST_OUT_EXECUTABLES)/checkfc
|
|
property_info_checker := $(HOST_OUT_EXECUTABLES)/property_info_checker
|
|
|
|
##################################
|
|
LOCAL_MODULE := plat_file_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
$(eval $(call run_contexts_test, plat_file_contexts, $(checkfc),))
|
|
|
|
##################################
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := system_ext_file_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, system_ext_file_contexts, $(checkfc),))
|
|
|
|
##################################
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := product_file_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, product_file_contexts, $(checkfc),))
|
|
|
|
##################################
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := vendor_file_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, vendor_file_contexts, $(checkfc),))
|
|
|
|
##################################
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := odm_file_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, odm_file_contexts, $(checkfc),))
|
|
|
|
##################################
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := plat_hwservice_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, plat_hwservice_contexts, $(checkfc), -e -l))
|
|
|
|
##################################
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := system_ext_hwservice_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, system_ext_hwservice_contexts, $(checkfc), -e -l))
|
|
|
|
##################################
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := product_hwservice_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, product_hwservice_contexts, $(checkfc), -e -l))
|
|
|
|
##################################
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := vendor_hwservice_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, vendor_hwservice_contexts, $(checkfc), -e -l))
|
|
|
|
##################################
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := odm_hwservice_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, odm_hwservice_contexts, $(checkfc), -e -l))
|
|
|
|
##################################
|
|
|
|
pc_modules := plat_property_contexts
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := plat_property_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, $(pc_modules), $(property_info_checker),))
|
|
|
|
##################################
|
|
|
|
ifdef HAS_SYSTEM_EXT_SEPOLICY_DIR
|
|
|
|
pc_modules += system_ext_property_contexts
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := system_ext_property_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, $(pc_modules), $(property_info_checker),))
|
|
|
|
endif
|
|
|
|
##################################
|
|
|
|
pc_modules += vendor_property_contexts
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := vendor_property_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, $(pc_modules), $(property_info_checker),))
|
|
|
|
##################################
|
|
|
|
ifdef BOARD_ODM_SEPOLICY_DIRS
|
|
|
|
pc_modules += odm_property_contexts
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := odm_property_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, $(pc_modules), $(property_info_checker),))
|
|
|
|
endif
|
|
|
|
##################################
|
|
|
|
ifdef HAS_PRODUCT_SEPOLICY_DIR
|
|
|
|
pc_modules += product_property_contexts
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := product_property_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, $(pc_modules), $(property_info_checker),))
|
|
|
|
endif
|
|
|
|
pc_modules :=
|
|
|
|
##################################
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := plat_service_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, plat_service_contexts, $(checkfc), -s))
|
|
|
|
##################################
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := system_ext_service_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, system_ext_service_contexts, $(checkfc), -s))
|
|
|
|
##################################
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := product_service_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, product_service_contexts, $(checkfc), -s))
|
|
|
|
##################################
|
|
# nonplat_service_contexts is only allowed on non-full-treble devices
|
|
ifneq ($(PRODUCT_SEPOLICY_SPLIT),true)
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_MODULE := vendor_service_contexts_test
|
|
LOCAL_LICENSE_KINDS := SPDX-license-identifier-Apache-2.0 legacy_unencumbered
|
|
LOCAL_LICENSE_CONDITIONS := notice unencumbered
|
|
LOCAL_NOTICE_FILE := $(LOCAL_PATH)/NOTICE
|
|
LOCAL_MODULE_CLASS := FAKE
|
|
LOCAL_MODULE_TAGS := optional
|
|
|
|
include $(BUILD_SYSTEM)/base_rules.mk
|
|
|
|
$(eval $(call run_contexts_test, vendor_service_contexts, $(checkfc), -s))
|
|
|
|
endif
|
|
|
|
checkfc :=
|
|
property_info_checker :=
|
|
run_contexts_test :=
|