diff --git a/unit/test-wsc.c b/unit/test-wsc.c index 76e01fd5..7edb0588 100644 --- a/unit/test-wsc.c +++ b/unit/test-wsc.c @@ -1483,6 +1483,22 @@ static void wsc_test_parse_m6(const void *data) encrypted.iov_base, encrypted.iov_len)); } +static void wsc_test_build_m6(const void *data) +{ + const struct m6_data *test = data; + uint8_t *out; + size_t out_len; + + out = wsc_build_m6(&test->expected, test->expected_encrypted, + test->expected_encrypted_size, &out_len); + assert(out); + + assert(out_len == test->len); + assert(!memcmp(test->pdu, out, test->len)); + + l_free(out); +} + static const uint8_t eap_identity_req[] = { 0x01, 0x00, 0x00, 0x05, 0x01, 0x00, 0x00, 0x05, 0x01 }; @@ -1710,6 +1726,7 @@ int main(int argc, char *argv[]) l_test_add("/wsc/build/m5 1", wsc_test_build_m5, &m5_data_1); l_test_add("/wsc/parse/m6 1", wsc_test_parse_m6, &m6_data_1); + l_test_add("/wsc/build/m6 1", wsc_test_build_m6, &m6_data_1); l_test_add("/wsc/handshake/PBC Handshake Test", wsc_test_pbc_handshake, NULL);