From 23d9b4c08904b8df494b7ea06ab3cf314255522f Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Thu, 1 Jun 2017 16:30:14 -0500 Subject: [PATCH] unit: Only run tests if checksum is available --- unit/test-cmac-aes.c | 6 ++++++ unit/test-crypto.c | 6 ++++++ unit/test-eap-mschapv2.c | 6 ++++++ unit/test-eapol.c | 5 +++++ unit/test-hmac-md5.c | 6 ++++++ unit/test-hmac-sha1.c | 6 ++++++ unit/test-hmac-sha256.c | 6 ++++++ unit/test-kdf-sha256.c | 6 ++++++ unit/test-pbkdf2-sha1.c | 6 ++++++ unit/test-prf-sha1.c | 6 ++++++ unit/test-wsc.c | 28 +++++++++++++++++----------- 11 files changed, 76 insertions(+), 11 deletions(-) diff --git a/unit/test-cmac-aes.c b/unit/test-cmac-aes.c index 92342a53..f61fd000 100644 --- a/unit/test-cmac-aes.c +++ b/unit/test-cmac-aes.c @@ -142,10 +142,16 @@ int main(int argc, char *argv[]) { l_test_init(&argc, &argv); + if (!l_checksum_cmac_aes_supported()) { + printf("AES-CMAC support missing, skipping...\n"); + goto done; + } + l_test_add("/cmac-aes/Example 1", cmac_test, &example_1); l_test_add("/cmac-aes/Example 2", cmac_test, &example_2); l_test_add("/cmac-aes/Exmaple 3", cmac_test, &example_3); l_test_add("/cmac-aes/Exmaple 4", cmac_test, &example_4); +done: return l_test_run(); } diff --git a/unit/test-crypto.c b/unit/test-crypto.c index c06bb476..c90ae3b3 100644 --- a/unit/test-crypto.c +++ b/unit/test-crypto.c @@ -339,6 +339,11 @@ int main(int argc, char *argv[]) { l_test_init(&argc, &argv); + if (!l_checksum_is_supported(L_CHECKSUM_SHA1, true)) { + printf("SHA1 support missing, skipping...\n"); + goto done; + } + l_test_add("/Passphrase Generator/PSK Test Case 1", psk_test, &psk_test_case_1); l_test_add("/Passphrase Generator/PSK Test Case 2", @@ -355,5 +360,6 @@ int main(int argc, char *argv[]) l_test_add("/PTK Derivation/PTK Test Case 4", ptk_test, &ptk_test_4); +done: return l_test_run(); } diff --git a/unit/test-eap-mschapv2.c b/unit/test-eap-mschapv2.c index 08901b21..a33b39f5 100644 --- a/unit/test-eap-mschapv2.c +++ b/unit/test-eap-mschapv2.c @@ -135,6 +135,11 @@ int main(int argc, char *argv[]) { l_test_init(&argc, &argv); + if (!l_checksum_is_supported(L_CHECKSUM_MD4, false)) { + printf("MD4 support missing, skipping...\n"); + goto done; + } + l_test_add("MSHAPv2 nt_password-hash", test_nt_password_hash, NULL); l_test_add("MSHAPv2 generate_nt_response", @@ -146,5 +151,6 @@ int main(int argc, char *argv[]) l_test_add("MSHAPv2 authenticator_response", test_authenticator_response, NULL); +done: return l_test_run(); } diff --git a/unit/test-eapol.c b/unit/test-eapol.c index c9a14707..2eb7fac6 100644 --- a/unit/test-eapol.c +++ b/unit/test-eapol.c @@ -3177,6 +3177,10 @@ int main(int argc, char *argv[]) l_test_add("/EAPoL Key/Key Frame 32", eapol_key_test, &eapol_key_test_32); + if (!l_checksum_is_supported(L_CHECKSUM_MD5, true) || + !l_checksum_is_supported(L_CHECKSUM_SHA1, true)) + goto done; + l_test_add("/EAPoL Key/MIC Test 1", eapol_key_mic_test, &eapol_key_mic_test_1); l_test_add("/EAPoL Key/MIC Test 2", @@ -3220,5 +3224,6 @@ int main(int argc, char *argv[]) l_test_add("EAPoL/FT-Using-PSK 4-Way Handshake", &eapol_ft_handshake_test, NULL); +done: return l_test_run(); } diff --git a/unit/test-hmac-md5.c b/unit/test-hmac-md5.c index a38e3d2a..4edfc5b4 100644 --- a/unit/test-hmac-md5.c +++ b/unit/test-hmac-md5.c @@ -85,8 +85,14 @@ int main(int argc, char *argv[]) { l_test_init(&argc, &argv); + if (!l_checksum_is_supported(L_CHECKSUM_MD5, true)) { + printf("MD5 support missing, skipping...\n"); + goto done; + } + l_test_add("/hmac-md5/Test case 1", hmac_test, &test_case_1); l_test_add("/hmac-md5/Test case 2", hmac_test, &test_case_2); +done: return l_test_run(); } diff --git a/unit/test-hmac-sha1.c b/unit/test-hmac-sha1.c index ac1b264a..a550ff55 100644 --- a/unit/test-hmac-sha1.c +++ b/unit/test-hmac-sha1.c @@ -85,8 +85,14 @@ int main(int argc, char *argv[]) { l_test_init(&argc, &argv); + if (!l_checksum_is_supported(L_CHECKSUM_SHA1, true)) { + printf("SHA1 support missing, skipping...\n"); + goto done; + } + l_test_add("/hmac-sha1/Test case 1", hmac_test, &test_case_1); l_test_add("/hmac-sha1/Test case 2", hmac_test, &test_case_2); +done: return l_test_run(); } diff --git a/unit/test-hmac-sha256.c b/unit/test-hmac-sha256.c index 55111a92..20996abe 100644 --- a/unit/test-hmac-sha256.c +++ b/unit/test-hmac-sha256.c @@ -87,8 +87,14 @@ int main(int argc, char *argv[]) { l_test_init(&argc, &argv); + if (!l_checksum_is_supported(L_CHECKSUM_SHA256, true)) { + printf("SHA256 support missing, skipping...\n"); + goto done; + } + l_test_add("/hmac-sha256/Test case 1", hmac_test, &test_case_1); l_test_add("/hmac-sha256/Test case 2", hmac_test, &test_case_2); +done: return l_test_run(); } diff --git a/unit/test-kdf-sha256.c b/unit/test-kdf-sha256.c index 0c70b0ed..cec74dc1 100644 --- a/unit/test-kdf-sha256.c +++ b/unit/test-kdf-sha256.c @@ -85,7 +85,13 @@ int main(int argc, char *argv[]) { l_test_init(&argc, &argv); + if (!l_checksum_is_supported(L_CHECKSUM_SHA256, true)) { + printf("SHA256 support missing, skipping...\n"); + goto done; + } + l_test_add("/kdf-sha256/Test case 1", kdf_test, &test_case_1); +done: return l_test_run(); } diff --git a/unit/test-pbkdf2-sha1.c b/unit/test-pbkdf2-sha1.c index 586a18cf..0d4c7f73 100644 --- a/unit/test-pbkdf2-sha1.c +++ b/unit/test-pbkdf2-sha1.c @@ -183,6 +183,11 @@ int main(int argc, char *argv[]) { l_test_init(&argc, &argv); + if (!l_checksum_is_supported(L_CHECKSUM_SHA1, true)) { + printf("SHA1 support missing, skipping...\n"); + goto done; + } + l_test_add("/pbkdf2-sha1/PBKDF2 Test vector 1", pbkdf2_test, &pbkdf2_test_vector_1); l_test_add("/pbkdf2-sha1/PBKDF2 Test vector 2", @@ -211,5 +216,6 @@ int main(int argc, char *argv[]) l_test_add("/pbkdf2-sha1/ATHENA Test vector 7", pbkdf2_test, &athena_test_vector_7); +done: return l_test_run(); } diff --git a/unit/test-prf-sha1.c b/unit/test-prf-sha1.c index 4ee9c647..7461dbea 100644 --- a/unit/test-prf-sha1.c +++ b/unit/test-prf-sha1.c @@ -117,9 +117,15 @@ int main(int argc, char *argv[]) { l_test_init(&argc, &argv); + if (!l_checksum_is_supported(L_CHECKSUM_SHA1, true)) { + printf("SHA1 support missing, skipping...\n"); + goto done; + } + l_test_add("/prf-sha1/Test case 1", prf_test, &test_case_1); l_test_add("/prf-sha1/Test case 2", prf_test, &test_case_2); l_test_add("/prf-sha1/Test case 3", prf_test, &test_case_3); +done: return l_test_run(); } diff --git a/unit/test-wsc.c b/unit/test-wsc.c index d149ccd9..0c0c0ab1 100644 --- a/unit/test-wsc.c +++ b/unit/test-wsc.c @@ -2233,22 +2233,24 @@ int main(int argc, char *argv[]) l_test_add("/wsc/build/probe request 1", wsc_test_build_probe_request, &probe_request_data_1); + l_test_add("/wsc/pin/valid pin", wsc_test_pin_valid, NULL); + l_test_add("/wsc/pin/valid checksum", wsc_test_pin_checksum, NULL); + l_test_add("/wsc/pin/generate", wsc_test_pin_generate, NULL); + l_test_add("/wsc/gen_uuid/1", wsc_test_uuid_from_addr, &uuid_from_addr_data_1); - l_test_add("/wsc/diffie-hellman/generate pubkey 1", - wsc_test_dh_generate_pubkey, - &dh_generate_pubkey_test_data_1); - l_test_add("/wsc/diffie-hellman/generate pubkey 2", - wsc_test_dh_generate_pubkey, - &dh_generate_pubkey_test_data_2); - l_test_add("/wsc/parse/m1 1", wsc_test_parse_m1, &m1_data_1); l_test_add("/wsc/parse/m1 2", wsc_test_parse_m1, &m1_data_2); l_test_add("/wsc/build/m1 1", wsc_test_build_m1, &m1_data_1); l_test_add("/wsc/build/m1 2", wsc_test_build_m1, &m1_data_2); + if (!l_checksum_is_supported(L_CHECKSUM_SHA256, true)) { + printf("SHA256 support missing, skipping other tests...\n"); + goto done; + } + l_test_add("/wsc/parse/m2 1", wsc_test_parse_m2, &m2_data_1); l_test_add("/wsc/parse/m2 2", wsc_test_parse_m2, &m2_data_2); @@ -2295,15 +2297,19 @@ int main(int argc, char *argv[]) l_test_add("/wsc/build/wsc_done 1", wsc_test_build_wsc_done, &wsc_done_data_1); + l_test_add("/wsc/diffie-hellman/generate pubkey 1", + wsc_test_dh_generate_pubkey, + &dh_generate_pubkey_test_data_1); + l_test_add("/wsc/diffie-hellman/generate pubkey 2", + wsc_test_dh_generate_pubkey, + &dh_generate_pubkey_test_data_2); + l_test_add("/wsc/handshake/PBC Handshake Test", wsc_test_pbc_handshake, NULL); l_test_add("/wsc/retransmission/no fragmentation", wsc_test_retransmission_no_fragmentation, NULL); - l_test_add("/wsc/pin/valid pin", wsc_test_pin_valid, NULL); - l_test_add("/wsc/pin/valid checksum", wsc_test_pin_checksum, NULL); - l_test_add("/wsc/pin/generate", wsc_test_pin_generate, NULL); - +done: return l_test_run(); }