コード例 #1
0
ファイル: test-init.c プロジェクト: pexip/os-p11-kit
static CK_RV
mock_C_Initialize__with_fork (CK_VOID_PTR init_args)
{
    struct timespec ts = { 0, 100 * 1000 * 1000 };
    CK_RV rv;
    pid_t child;
    pid_t ret;
    int status;

    rv = mock_C_Initialize (init_args);
    assert (rv == CKR_OK);

    /* Fork during the initialization */
    child = fork ();
    if (child == 0) {
        nanosleep (&ts, NULL);
        exit (66);
    }

    ret = waitpid (child, &status, 0);
    assert (ret == child);
    assert (WIFEXITED (status));
    assert (WEXITSTATUS (status) == 66);

    return CKR_OK;
}
コード例 #2
0
static CK_RV
override_initialize (CK_VOID_PTR init_args)
{
	CK_C_INITIALIZE_ARGS_PTR args = init_args;

	assert_str_eq ("initialize-arg", args->pReserved);

	return mock_C_Initialize (init_args);
}
コード例 #3
0
ファイル: test-init.c プロジェクト: pexip/os-p11-kit
static CK_RV
mock_C_Initialize__with_recursive (CK_VOID_PTR init_args)
{
    CK_RV rv;

    rv = mock_C_Initialize (init_args);
    assert (rv == CKR_OK);

    /* Recursively initialize, this is broken */
    return p11_kit_initialize_module (&module);
}