diff options
author | Stef Walter <stefw@gnome.org> | 2012-05-13 22:27:07 +0200 |
---|---|---|
committer | Stef Walter <stefw@gnome.org> | 2012-05-13 22:27:07 +0200 |
commit | caa953cba4d2d0cdd4823eb2f1c4f24bbf18a231 (patch) | |
tree | f303e5018500104b9d807628f196d5baf2c9336f /tests | |
parent | 7bd4114182fcc86cd2515708fdf4d76622e0237d (diff) |
Preconditions to check for input probs and out of memory
* We don't try to guarantee completely robust and problem
free behavior in cases where the caller or process isn't
behaving. We consider these to be outside of our control.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 3 | ||||
-rw-r--r-- | tests/test-init.c | 68 | ||||
-rw-r--r-- | tests/uri-test.c | 12 |
3 files changed, 79 insertions, 4 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 28aa496..1f6083f 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -4,7 +4,8 @@ INCLUDES = \ -I$(top_srcdir)/common \ -I$(top_srcdir)/p11-kit \ -I$(srcdir)/cutest \ - -DSRCDIR=\"$(srcdir)\" \ + -DSRCDIR=\"$(abs_srcdir)\" \ + -DBUILDDIR=\"$(abs_builddir)\" \ -DP11_KIT_FUTURE_UNSTABLE_API LDADD = \ diff --git a/tests/test-init.c b/tests/test-init.c index be970aa..8128db6 100644 --- a/tests/test-init.c +++ b/tests/test-init.c @@ -152,7 +152,8 @@ mock_C_Finalize__threaded_race (CK_VOID_PTR reserved) _p11_mutex_unlock (&race_mutex); _p11_sleep_ms (100); - return CKR_OK;} + return CKR_OK; +} static void * initialization_thread (void *data) @@ -223,6 +224,69 @@ test_threaded_initialization (CuTest *tc) CuAssertIntEquals (tc, 1, finalization_count); } +static CK_RV +mock_C_Initialize__test_mutexes (CK_VOID_PTR args) +{ + CK_C_INITIALIZE_ARGS_PTR init_args; + void *mutex = NULL; + CK_RV rv; + + assert (args != NULL); + init_args = args; + + rv = (init_args->CreateMutex) (&mutex); + assert (rv == CKR_OK); + + rv = (init_args->LockMutex) (mutex); + assert (rv == CKR_OK); + + rv = (init_args->UnlockMutex) (mutex); + assert (rv == CKR_OK); + + rv = (init_args->DestroyMutex) (mutex); + assert (rv == CKR_OK); + + return CKR_OK; +} + +static void +test_mutexes (CuTest *tc) +{ + CK_RV rv; + + /* Build up our own function list */ + memcpy (&module, &mock_module_no_slots, sizeof (CK_FUNCTION_LIST)); + module.C_Initialize = mock_C_Initialize__test_mutexes; + + rv = p11_kit_initialize_module (&module); + CuAssertTrue (tc, rv == CKR_OK); + + rv = p11_kit_finalize_module (&module); + CuAssertTrue (tc, rv == CKR_OK); +} + +static void +test_load_and_initialize (CuTest *tc) +{ + CK_FUNCTION_LIST_PTR module; + CK_INFO info; + CK_RV rv; + int ret; + + rv = p11_kit_load_initialize_module (BUILDDIR "/.libs/mock-one.so", &module); + CuAssertTrue (tc, rv == CKR_OK); + CuAssertTrue (tc, module != NULL); + + rv = (module->C_GetInfo) (&info); + CuAssertTrue (tc, rv == CKR_OK); + + ret = memcmp (info.manufacturerID, "MOCK MANUFACTURER ", 32); + CuAssertTrue (tc, ret == 0); + + rv = p11_kit_finalize_module (module); + CuAssertTrue (tc, ret == CKR_OK); +} + int main (void) { @@ -240,6 +304,8 @@ main (void) SUITE_ADD_TEST (suite, test_recursive_initialization); SUITE_ADD_TEST (suite, test_threaded_initialization); + SUITE_ADD_TEST (suite, test_mutexes); + SUITE_ADD_TEST (suite, test_load_and_initialize); CuSuiteRun (suite); CuSuiteSummary (suite, output); diff --git a/tests/uri-test.c b/tests/uri-test.c index 2012c0f..16480f6 100644 --- a/tests/uri-test.c +++ b/tests/uri-test.c @@ -1120,7 +1120,15 @@ test_uri_pin_source (CuTest *tc) uri = p11_kit_uri_new (); CuAssertPtrNotNull (tc, uri); - p11_kit_uri_set_pin_source (uri, "|my-pin-file"); + p11_kit_uri_set_pin_source (uri, "|my-pin-source"); + + pin_source = p11_kit_uri_get_pin_source (uri); + CuAssertStrEquals (tc, "|my-pin-source", pin_source); + + pin_source = p11_kit_uri_get_pinfile (uri); + CuAssertStrEquals (tc, "|my-pin-source", pin_source); + + p11_kit_uri_set_pinfile (uri, "|my-pin-file"); pin_source = p11_kit_uri_get_pin_source (uri); CuAssertStrEquals (tc, "|my-pin-file", pin_source); @@ -1149,7 +1157,7 @@ static void test_uri_message (CuTest *tc) { CuAssertTrue (tc, p11_kit_uri_message (P11_KIT_URI_OK) == NULL); - CuAssertPtrNotNull (tc, p11_kit_uri_message (P11_KIT_URI_NO_MEMORY)); + CuAssertPtrNotNull (tc, p11_kit_uri_message (P11_KIT_URI_UNEXPECTED)); CuAssertPtrNotNull (tc, p11_kit_uri_message (-555555)); } |