summaryrefslogtreecommitdiff
path: root/tests/cipher-neg-common.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/cipher-neg-common.c')
-rw-r--r--tests/cipher-neg-common.c20
1 files changed, 19 insertions, 1 deletions
diff --git a/tests/cipher-neg-common.c b/tests/cipher-neg-common.c
index 1ddbad612d..a855147359 100644
--- a/tests/cipher-neg-common.c
+++ b/tests/cipher-neg-common.c
@@ -23,6 +23,7 @@
typedef struct test_case_st {
const char *name;
int cipher;
+ int group;
const char *client_prio;
const char *server_prio;
unsigned not_on_fips;
@@ -79,11 +80,28 @@ static void try(test_case_st *test)
}
if (cret != test->cipher) {
- fail("%s: negotiated cipher diffs the expected (%s, %s)!\n",
+ fail("%s: negotiated cipher differs with the expected (%s, %s)!\n",
test->name, gnutls_cipher_get_name(cret),
gnutls_cipher_get_name(test->cipher));
}
+ if (test->group) {
+ sret = gnutls_group_get(client);
+ cret = gnutls_group_get(server);
+
+ if (sret != cret) {
+ fail("%s: client negotiated different group than server (%s, %s)!\n",
+ test->name, gnutls_group_get_name(cret),
+ gnutls_group_get_name(sret));
+ }
+
+ if (cret != test->group) {
+ fail("%s: negotiated group differs with the expected (%s, %s)!\n",
+ test->name, gnutls_group_get_name(cret),
+ gnutls_group_get_name(test->group));
+ }
+ }
+
gnutls_deinit(server);
gnutls_deinit(client);
gnutls_certificate_free_credentials(s_cert_cred);