blob: e474dbb0e53abdd793d46e28a336478edad74dee [file] [log] [blame]
Gaurav Shah322536d2010-01-28 15:01:23 -08001# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
Gaurav Shahfc70d722010-03-31 13:26:55 -07005INCLUDES += -I./include \
Randall Spanglerd1836442010-06-10 09:59:04 -07006 -I$(FWDIR)/lib/include \
Randall Spangler3003c1d2010-05-27 09:20:11 -07007 -I$(FWDIR)/lib/cgptlib/include \
Bill Richardson0b8f35c2010-05-26 09:18:38 -07008 -I$(FWDIR)/lib/cryptolib/include \
Randall Spangler620c38c2010-06-17 14:45:22 -07009 -I$(HOSTDIR)/include
vbendeb70e95092010-06-14 15:41:27 -070010BUILD_ROOT = ${BUILD}/tests
Gaurav Shahe3ef9c92010-02-10 23:07:02 -080011
Randall Spangler620c38c2010-06-17 14:45:22 -070012TEST_NAMES = cgptlib_test \
Luigi Semenzato416f6812010-07-08 12:12:12 -070013 rsa_padding_test \
14 rsa_verify_benchmark \
15 sha_benchmark \
16 sha_tests \
17 vboot_common_tests \
18 vboot_common2_tests \
19 vboot_common3_tests \
20
vbendeb70e95092010-06-14 15:41:27 -070021TEST_BINS = $(addprefix ${BUILD_ROOT}/,$(TEST_NAMES))
vbendebcae179a2010-06-16 13:56:58 -070022
23TEST_LIB = ${BUILD_ROOT}/test.a
24TEST_LIB_SRCS = rollback_index_mock.c test_common.c timer_utils.c crc32_test.c
25TEST_LIB_OBJS = $(TEST_LIB_SRCS:%.c=${BUILD_ROOT}/%.o)
26ALL_DEPS = $(addsuffix .d,${TEST_BINS} ${TEST_LIB_OBJS})
27CFLAGS += -MMD -MF $@.d
28
Randall Spangler620c38c2010-06-17 14:45:22 -070029LIBS := ${TEST_LIB} $(HOSTLIB) $(FWLIB)
vbendebcae179a2010-06-16 13:56:58 -070030
vbendebf7a45cc2010-06-21 08:44:16 -070031ifneq (${RUNTESTS},)
32EXTRA_TARGET = runtests
33endif
34
Luigi Semenzato18b814d2010-07-08 17:17:02 -070035all: $(TEST_BINS) ${EXTRA_TARGET}
36
37rbtest: $(BUILD_ROOT)/rollback_index_test
vbendebcae179a2010-06-16 13:56:58 -070038
39${TEST_LIB}: ${TEST_LIB_OBJS}
40 rm -f $@
41 ar qc $@ $^
42
Luigi Semenzato416f6812010-07-08 12:12:12 -070043${BUILD_ROOT}/rollback_index_test.o : rollback_index_test.c
44 $(CC) $(CFLAGS) -I/usr/include $(INCLUDES) -MMD -MF $@.d -c -o $@ $<
45
46${BUILD_ROOT}/rollback_index_test: rollback_index_test.c ${HOSTLIB} ${FWLIB}
47 $(CC) $(CFLAGS) -I/usr/include $(INCLUDES) $< -o $@ \
48 -ltlcl ${HOSTLIB} ${FWLIB} -lcrypto -lrt
49
vbendebcae179a2010-06-16 13:56:58 -070050${BUILD_ROOT}/%.o : %.c
51 $(CC) $(CFLAGS) $(INCLUDES) -MMD -MF $@.d -c -o $@ $<
52
53${BUILD_ROOT}/%: %.c ${LIBS}
54 $(CC) $(CFLAGS) $(INCLUDES) $< ${LIBS} -o $@ -lcrypto -lrt
Gaurav Shahed9c96a2010-03-30 18:56:07 -070055
Randall Spangler620c38c2010-06-17 14:45:22 -070056# TODO: port these tests to new API, if not already eqivalent
57# functionality in other tests
58#
Randall Spanglerd471f2a2010-06-16 12:05:10 -070059# big_firmware_tests
60# firmware_image_tests
61# firmware_rollback_tests
62# firmware_splicing_tests
63# firmware_verify_benchmark
64# verify_firmware_fuzz_driver
Randall Spangler620c38c2010-06-17 14:45:22 -070065#
66# big_kernel_tests
Luigi Semenzato416f6812010-07-08 12:12:12 -070067# kernel_image_tests
68# kernel_rollback_tests
69# kernel_splicing_tests
70# kernel_verify_benchmark
Randall Spangler620c38c2010-06-17 14:45:22 -070071# verify_kernel_fuzz_driver
Randall Spanglerd471f2a2010-06-16 12:05:10 -070072
Randall Spangler620c38c2010-06-17 14:45:22 -070073# Generate test keys
74genkeys:
vbendeb70e95092010-06-14 15:41:27 -070075 ./gen_test_keys.sh
Randall Spangler620c38c2010-06-17 14:45:22 -070076
77# Run cgpt tests
78runcgpttests:
vbendeb70e95092010-06-14 15:41:27 -070079 ${BUILD_ROOT}/cgptlib_test
vbendeb70e95092010-06-14 15:41:27 -070080 ./run_cgpt_tests.sh ${BUILD}/cgpt/cgpt
vbendebcae179a2010-06-16 13:56:58 -070081
Randall Spangler620c38c2010-06-17 14:45:22 -070082# Run crypto tests
83runcryptotests:
84 ./run_rsa_tests.sh
85 ${BUILD_ROOT}/sha_tests
86 ./run_vboot_common_tests.sh
87
88# Run other misc tests
89runmisctests:
90 ./run_vbutil_tests.sh
91
92
93runtests: genkeys runcgpttests runcryptotests runmisctests
94
95# TODO: tests to run when ported to new API
96# ./run_image_verification_tests.sh
97# # Splicing tests
98# ${BUILD_ROOT}/firmware_splicing_tests
99# ${BUILD_ROOT}/kernel_splicing_tests
100# # Rollback Tests
101# ${BUILD_ROOT}/firmware_rollback_tests
102# ${BUILD_ROOT}/kernel_rollback_tests
103
Luigi Semenzato18b814d2010-07-08 17:17:02 -0700104install-rbtest: $(BUILD_ROOT)/rollback_index_test
105 mkdir -p $(DESTDIR)
106 cp -f $(BUILD_ROOT)/rollback_index_test $(DESTDIR)
Luigi Semenzato416f6812010-07-08 12:12:12 -0700107
Randall Spangler620c38c2010-06-17 14:45:22 -0700108-include ${ALL_DEPS}