mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-25 17:27:18 +00:00
BUG=none TEST=manual cd src/platform/vboot_reference make && make runtests Change-Id: I7f7d50d7c9c5541e0b99031245f882996a6b88ec Reviewed-on: http://gerrit.chromium.org/gerrit/8731 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Tested-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Randall Spangler <rspangler@chromium.org>
166 lines
4.6 KiB
Makefile
166 lines
4.6 KiB
Makefile
# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
INCLUDES += -I./include \
|
|
-I$(FWDIR)/lib/include \
|
|
-I$(FWDIR)/lib/cgptlib/include \
|
|
-I$(FWDIR)/lib/cryptolib/include \
|
|
-I$(FWDIR)/lib/tpm_lite/include \
|
|
-I$(HOSTDIR)/include
|
|
BUILD_ROOT = ${BUILD}/tests
|
|
|
|
TEST_NAMES = cgptlib_test \
|
|
rollback_index2_tests \
|
|
rsa_padding_test \
|
|
rsa_utility_tests \
|
|
rsa_verify_benchmark \
|
|
sha_benchmark \
|
|
sha_tests \
|
|
stateful_util_tests \
|
|
utility_string_tests \
|
|
utility_tests \
|
|
tpm_bootmode_tests \
|
|
vboot_api_init_tests \
|
|
vboot_api_firmware_tests \
|
|
vboot_common_tests \
|
|
vboot_common2_tests \
|
|
vboot_common3_tests \
|
|
vboot_firmware_tests \
|
|
vboot_nvstorage_test \
|
|
vboot_api_devmode_tests \
|
|
vboot_audio_tests
|
|
|
|
TEST_BINS = $(addprefix ${BUILD_ROOT}/,$(TEST_NAMES))
|
|
|
|
TEST_LIB = ${BUILD_ROOT}/test.a
|
|
TEST_LIB_SRCS = test_common.c timer_utils.c crc32_test.c
|
|
TEST_LIB_OBJS = $(TEST_LIB_SRCS:%.c=${BUILD_ROOT}/%.o)
|
|
ALL_DEPS = $(addsuffix .d,${TEST_BINS} ${TEST_LIB_OBJS})
|
|
# Allow multiple definitions, so tests can mock functions from other libraries
|
|
CFLAGS += -MMD -MF $@.d -Xlinker --allow-multiple-definition
|
|
|
|
LIBS := ${TEST_LIB} $(HOSTLIB)
|
|
|
|
ifneq (${RUNTESTS},)
|
|
EXTRA_TARGET = runtests
|
|
endif
|
|
|
|
all: $(TEST_BINS) ${EXTRA_TARGET}
|
|
|
|
rbtest: $(BUILD_ROOT)/rollback_index_test
|
|
|
|
${TEST_LIB}: ${TEST_LIB_OBJS}
|
|
rm -f $@
|
|
ar qc $@ $^
|
|
|
|
${BUILD_ROOT}/vboot_audio_for_test.o : $(FWDIR)/lib/vboot_audio.c
|
|
$(CC) $(CFLAGS) -DCUSTOM_MUSIC $(INCLUDES) \
|
|
-MMD -MF $@.d -c -o $@ $<
|
|
|
|
${BUILD_ROOT}/vboot_audio_tests: vboot_audio_tests.c \
|
|
${BUILD_ROOT}/vboot_audio_for_test.o ${LIBS}
|
|
$(CC) $(CFLAGS) $(INCLUDES) $< ${BUILD_ROOT}/vboot_audio_for_test.o \
|
|
${LIBS} -o $@ -lcrypto -lrt
|
|
|
|
${BUILD_ROOT}/rollback_index_test.o : rollback_index_test.c
|
|
$(CC) $(CFLAGS) -I/usr/include $(INCLUDES) -MMD -MF $@.d -c -o $@ $<
|
|
|
|
${BUILD_ROOT}/rollback_index_test: rollback_index_test.c ${HOSTLIB}
|
|
$(CC) $(CFLAGS) -I/usr/include $(INCLUDES) $< -o $@ \
|
|
-ltlcl ${HOSTLIB} -lcrypto -lrt
|
|
|
|
# Compile rollback_index.c for unit test, so it uses the same implementation
|
|
# as it does in the firmware.
|
|
${BUILD_ROOT}/rollback_index_for_test.o : $(FWDIR)/lib/rollback_index.c
|
|
$(CC) $(CFLAGS) -DROLLBACK_UNITTEST $(INCLUDES) \
|
|
-MMD -MF $@.d -c -o $@ $<
|
|
|
|
${BUILD_ROOT}/rollback_index2_tests: rollback_index2_tests.c \
|
|
${BUILD_ROOT}/rollback_index_for_test.o ${LIBS}
|
|
$(CC) $(CFLAGS) $(INCLUDES) $< ${BUILD_ROOT}/rollback_index_for_test.o \
|
|
${LIBS} -o $@ -lcrypto -lrt
|
|
|
|
${BUILD_ROOT}/%.o : %.c
|
|
$(CC) $(CFLAGS) $(INCLUDES) -MMD -MF $@.d -c -o $@ $<
|
|
|
|
${BUILD_ROOT}/%: %.c ${LIBS}
|
|
$(CC) $(CFLAGS) $(INCLUDES) $< ${LIBS} -o $@ -lcrypto -lrt
|
|
|
|
# TODO: port these tests to new API, if not already eqivalent
|
|
# functionality in other tests
|
|
#
|
|
# big_firmware_tests
|
|
# firmware_image_tests
|
|
# firmware_rollback_tests
|
|
# firmware_splicing_tests
|
|
# firmware_verify_benchmark
|
|
# verify_firmware_fuzz_driver
|
|
#
|
|
# big_kernel_tests
|
|
# kernel_image_tests
|
|
# kernel_rollback_tests
|
|
# kernel_splicing_tests
|
|
# kernel_verify_benchmark
|
|
# verify_kernel_fuzz_driver
|
|
|
|
# Generate test keys
|
|
genkeys:
|
|
./gen_test_keys.sh
|
|
|
|
# Run cgpt tests
|
|
runcgpttests:
|
|
${BUILD_ROOT}/cgptlib_test
|
|
./run_cgpt_tests.sh ${BUILD}/cgpt/cgpt
|
|
|
|
# Run crypto tests
|
|
runcryptotests:
|
|
./run_rsa_tests.sh
|
|
${BUILD_ROOT}/rsa_utility_tests
|
|
${BUILD_ROOT}/sha_tests
|
|
./run_vboot_common_tests.sh
|
|
|
|
# Run other misc tests
|
|
runmisctests:
|
|
./run_vbutil_tests.sh
|
|
${BUILD_ROOT}/rollback_index2_tests
|
|
${BUILD_ROOT}/stateful_util_tests
|
|
${BUILD_ROOT}/tpm_bootmode_tests
|
|
${BUILD_ROOT}/utility_string_tests
|
|
${BUILD_ROOT}/utility_tests
|
|
${BUILD_ROOT}/vboot_api_init_tests
|
|
${BUILD_ROOT}/vboot_api_firmware_tests
|
|
${BUILD_ROOT}/vboot_firmware_tests
|
|
|
|
#This will exercise vbutil_kernel and vbutil_firmware
|
|
runfuzztests:
|
|
./gen_fuzz_test_cases.sh
|
|
|
|
# Run bmpblk_utility tests
|
|
runbmptests:
|
|
$(MAKE) BUILD=$(shell readlink -f ${BUILD}) -C bitmaps runtests
|
|
|
|
runsoundtests:
|
|
${BUILD_ROOT}/vboot_api_devmode_tests
|
|
${BUILD_ROOT}/vboot_audio_tests
|
|
|
|
ALLTESTS=runcgpttests runcryptotests runmisctests runfuzztests \
|
|
runbmptests runsoundtests
|
|
|
|
runtests: genkeys ${ALLTESTS}
|
|
|
|
# TODO: tests to run when ported to new API
|
|
# ./run_image_verification_tests.sh
|
|
# # Splicing tests
|
|
# ${BUILD_ROOT}/firmware_splicing_tests
|
|
# ${BUILD_ROOT}/kernel_splicing_tests
|
|
# # Rollback Tests
|
|
# ${BUILD_ROOT}/firmware_rollback_tests
|
|
# ${BUILD_ROOT}/kernel_rollback_tests
|
|
|
|
install-rbtest: $(BUILD_ROOT)/rollback_index_test
|
|
mkdir -p $(DESTDIR)
|
|
cp -f $(BUILD_ROOT)/rollback_index_test $(DESTDIR)
|
|
|
|
-include ${ALL_DEPS}
|