summaryrefslogtreecommitdiff
path: root/common/tests
diff options
context:
space:
mode:
Diffstat (limited to 'common/tests')
-rw-r--r--common/tests/test-constants.c70
1 files changed, 31 insertions, 39 deletions
diff --git a/common/tests/test-constants.c b/common/tests/test-constants.c
index 76c44d2..9adc81a 100644
--- a/common/tests/test-constants.c
+++ b/common/tests/test-constants.c
@@ -44,56 +44,38 @@
#include "debug.h"
static void
-test_constants (void)
+test_constants (void *arg)
{
- const p11_constant *constant;
+ const p11_constant *constant = arg;
p11_dict *nicks, *names;
CK_ULONG check;
- int i, j;
-
- static const p11_constant *constants[] = {
- p11_constant_types,
- p11_constant_classes,
- p11_constant_trusts,
- p11_constant_certs,
- p11_constant_keys,
- p11_constant_asserts,
- p11_constant_categories,
- p11_constant_mechanisms,
- p11_constant_users,
- p11_constant_states,
- p11_constant_returns,
- NULL
- };
+ int i;
nicks = p11_constant_reverse (true);
names = p11_constant_reverse (false);
- for (j = 0; constants[j] != NULL; j++) {
- constant = constants[j];
- for (i = 1; constant[i].value != CKA_INVALID; i++) {
- if (constant[i].value < constant[i - 1].value)
- assert_fail ("attr constant out of order", constant[i].name);
- }
- for (i = 0; constant[i].value != CKA_INVALID; i++) {
- assert_ptr_not_null (constant[i].name);
-
- if (constant[i].nick) {
- assert_str_eq (constant[i].nick,
- p11_constant_nick (constant, constant[i].value));
- }
+ for (i = 1; constant[i].value != CKA_INVALID; i++) {
+ if (constant[i].value < constant[i - 1].value)
+ assert_fail ("attr constant out of order", constant[i].name);
+ }
+ for (i = 0; constant[i].value != CKA_INVALID; i++) {
+ assert_ptr_not_null (constant[i].name);
- assert_str_eq (constant[i].name,
- p11_constant_name (constant, constant[i].value));
+ if (constant[i].nick) {
+ assert_str_eq (constant[i].nick,
+ p11_constant_nick (constant, constant[i].value));
+ }
- if (constant[i].nick) {
- check = p11_constant_resolve (nicks, constant[i].nick);
- assert_num_eq (constant[i].value, check);
- }
+ assert_str_eq (constant[i].name,
+ p11_constant_name (constant, constant[i].value));
- check = p11_constant_resolve (names, constant[i].name);
+ if (constant[i].nick) {
+ check = p11_constant_resolve (nicks, constant[i].nick);
assert_num_eq (constant[i].value, check);
}
+
+ check = p11_constant_resolve (names, constant[i].name);
+ assert_num_eq (constant[i].value, check);
}
p11_dict_free (names);
@@ -104,7 +86,17 @@ int
main (int argc,
char *argv[])
{
- p11_test (test_constants, "/constants/all");
+ p11_testx (test_constants, (void *)p11_constant_types, "/constants/types");
+ p11_testx (test_constants, (void *)p11_constant_classes, "/constants/classes");
+ p11_testx (test_constants, (void *)p11_constant_trusts, "/constants/trusts");
+ p11_testx (test_constants, (void *)p11_constant_certs, "/constants/certs");
+ p11_testx (test_constants, (void *)p11_constant_keys, "/constants/keys");
+ p11_testx (test_constants, (void *)p11_constant_asserts, "/constants/asserts");
+ p11_testx (test_constants, (void *)p11_constant_categories, "/constants/categories");
+ p11_testx (test_constants, (void *)p11_constant_mechanisms, "/constants/mechanisms");
+ p11_testx (test_constants, (void *)p11_constant_users, "/constants/users");
+ p11_testx (test_constants, (void *)p11_constant_states, "/constants/states");
+ p11_testx (test_constants, (void *)p11_constant_returns, "/constants/returns");
return p11_test_run (argc, argv);
}