| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame] | 1 | RUN_TESTS= \ |
| 2 | test-list \ |
| 3 | test-md4 test-rc4 test-sha1 test-sha256 \ |
| 4 | test-milenage test-aes \ |
| 5 | test-crypto_module |
| 6 | |
| 7 | ALL=$(RUN_TESTS) test-base64 test-https test-https_server |
| 8 | |
| 9 | include ../src/build.rules |
| 10 | |
| 11 | ifdef LIBFUZZER |
| 12 | CC=clang |
| 13 | CFLAGS = -MMD -O2 -Wall -g |
| 14 | CFLAGS += -fsanitize=fuzzer,address,signed-integer-overflow,unsigned-integer-overflow |
| 15 | CFLAGS += -DTEST_LIBFUZZER |
| 16 | LDFLAGS += -fsanitize=fuzzer,address,signed-integer-overflow,unsigned-integer-overflow |
| 17 | TEST_FUZZ=y |
| 18 | endif |
| 19 | |
| 20 | ifdef TEST_FUZZ |
| 21 | CFLAGS += -DCONFIG_NO_RANDOM_POOL |
| 22 | CFLAGS += -DTEST_FUZZ |
| 23 | endif |
| 24 | |
| 25 | CFLAGS += -DCONFIG_IEEE80211R_AP |
| 26 | CFLAGS += -DCONFIG_IEEE80211R |
| 27 | CFLAGS += -DCONFIG_TDLS |
| 28 | |
| 29 | # test-crypto_module |
| 30 | CFLAGS += -DCONFIG_MODULE_TESTS |
| 31 | CFLAGS += -DCONFIG_DPP |
| 32 | #CFLAGS += -DCONFIG_DPP2 |
| 33 | #CFLAGS += -DCONFIG_DPP3 |
| 34 | CFLAGS += -DCONFIG_ECC |
| 35 | CFLAGS += -DCONFIG_HMAC_SHA256_KDF |
| 36 | CFLAGS += -DCONFIG_HMAC_SHA384_KDF |
| 37 | CFLAGS += -DCONFIG_MESH |
| 38 | CFLAGS += -DCONFIG_SHA256 |
| 39 | CFLAGS += -DCONFIG_SHA384 |
| 40 | CFLAGS += -DEAP_PSK |
| 41 | CFLAGS += -DEAP_FAST |
| 42 | |
| 43 | CFLAGS += -I../src |
| 44 | CFLAGS += -I../src/utils |
| 45 | |
| 46 | SLIBS = ../src/utils/libutils.a |
| 47 | |
| 48 | DLIBS = ../src/tls/libtls.a \ |
| 49 | ../src/crypto/libcrypto.a |
| 50 | |
| 51 | _OBJS_VAR := LLIBS |
| 52 | include ../src/objs.mk |
| 53 | _OBJS_VAR := SLIBS |
| 54 | include ../src/objs.mk |
| 55 | _OBJS_VAR := DLIBS |
| 56 | include ../src/objs.mk |
| 57 | |
| 58 | LIBS = $(SLIBS) $(DLIBS) |
| 59 | LLIBS = -Wl,--start-group $(DLIBS) -Wl,--end-group $(SLIBS) |
| 60 | |
| 61 | ifeq ($(CONFIG_TLS),mbedtls) |
| 62 | CFLAGS += -DCONFIG_TLS_MBEDTLS |
| 63 | LLIBS += -lmbedtls -lmbedx509 -lmbedcrypto |
| 64 | else |
| 65 | ifeq ($(CONFIG_TLS),openssl) |
| 66 | CFLAGS += -DCONFIG_TLS_OPENSSL |
| 67 | LLIBS += -lssl -lcrypto |
| 68 | else |
| 69 | ifeq ($(CONFIG_TLS),gnutls) |
| 70 | CFLAGS += -DCONFIG_TLS_GNUTLS |
| 71 | LLIBS += -lgnutls -lgpg-error -lgcrypt |
| 72 | else |
| 73 | ifeq ($(CONFIG_TLS),wolfssl) |
| 74 | CFLAGS += -DCONFIG_TLS_WOLFSSL |
| 75 | LLIBS += -lwolfssl -lm |
| 76 | else |
| 77 | CFLAGS += -DCONFIG_TLS_INTERNAL |
| 78 | CFLAGS += -DCONFIG_TLS_INTERNAL_SERVER |
| 79 | ALL += test-rsa-sig-ver |
| 80 | ALL += test-x509v3 |
| 81 | clean-config_tls_internal: |
| 82 | rm -f test_x509v3_nist.out.* |
| 83 | rm -f test_x509v3_nist2.out.* |
| 84 | endif |
| 85 | endif |
| 86 | endif |
| 87 | endif |
| 88 | |
| 89 | # glibc < 2.17 needs -lrt for clock_gettime() |
| 90 | LLIBS += -lrt |
| 91 | |
| 92 | test-aes: $(call BUILDOBJ,test-aes.o) $(LIBS) |
| 93 | $(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS) |
| 94 | |
| 95 | test-crypto_module: $(call BUILDOBJ,test-crypto_module.o) $(LIBS) |
| 96 | $(LDO) $(LDFLAGS) -o $@ $< $(LLIBS) |
| 97 | |
| 98 | test-base64: $(call BUILDOBJ,test-base64.o) $(LIBS) |
| 99 | $(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS) |
| 100 | |
| 101 | test-https: $(call BUILDOBJ,test-https.o) $(LIBS) |
| 102 | $(LDO) $(LDFLAGS) -o $@ $< $(LLIBS) |
| 103 | |
| 104 | test-https_server: $(call BUILDOBJ,test-https_server.o) $(LIBS) |
| 105 | $(LDO) $(LDFLAGS) -o $@ $< $(LLIBS) |
| 106 | |
| 107 | test-list: $(call BUILDOBJ,test-list.o) $(LIBS) |
| 108 | $(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS) |
| 109 | |
| 110 | test-md4: $(call BUILDOBJ,test-md4.o) $(LIBS) |
| 111 | $(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS) |
| 112 | |
| 113 | test-milenage: $(call BUILDOBJ,test-milenage.o) $(LIBS) |
| 114 | $(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS) |
| 115 | |
| 116 | test-rc4: $(call BUILDOBJ,test-rc4.o) $(LIBS) |
| 117 | $(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS) |
| 118 | |
| 119 | test-rsa-sig-ver: $(call BUILDOBJ,test-rsa-sig-ver.o) $(LIBS) |
| 120 | $(LDO) $(LDFLAGS) -o $@ $< $(LLIBS) |
| 121 | |
| 122 | test-sha1: $(call BUILDOBJ,test-sha1.o) $(LIBS) |
| 123 | $(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS) |
| 124 | |
| 125 | test-sha256: $(call BUILDOBJ,test-sha256.o) $(LIBS) |
| 126 | $(LDO) $(LDFLAGS) -o $@ $^ $(LLIBS) |
| 127 | |
| 128 | test-x509v3: $(call BUILDOBJ,test-x509v3.o) $(LIBS) |
| 129 | $(LDO) $(LDFLAGS) -o $@ $< $(LLIBS) |
| 130 | |
| 131 | |
| 132 | run-tests: $(ALL) |
| 133 | @set -ex; for i in $(RUN_TESTS); do ./$$i; done |
| 134 | @echo |
| 135 | @echo All tests completed successfully. |
| 136 | |
| 137 | clean: common-clean clean-config_tls_internal |
| 138 | rm -f *~ |
| 139 | |
| 140 | .PHONY: run-tests clean-config_tls_internal |