You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
87 lines
2.0 KiB
87 lines
2.0 KiB
/* SPDX-License-Identifier: BSD-2-Clause */
|
|
/*******************************************************************************
|
|
* Copyright 2018, Fraunhofer SIT sponsored by Infineon Technologies AG
|
|
* All rights reserved.
|
|
******************************************************************************/
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
#include <config.h>
|
|
#endif
|
|
|
|
#include <stdarg.h>
|
|
#include <inttypes.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
|
|
#include <setjmp.h>
|
|
#include <cmocka.h>
|
|
|
|
#include "tss2_esys.h"
|
|
|
|
#define LOGMODULE tests
|
|
#include "util/log.h"
|
|
|
|
#define TCTI_FAKE_MAGIC 0x46414b4500000000ULL /* 'FAKE\0' */
|
|
#define TCTI_FAKE_VERSION 0x1
|
|
|
|
typedef TSS2_TCTI_CONTEXT_COMMON_V1 TSS2_TCTI_CONTEXT_FAKE;
|
|
|
|
void
|
|
tcti_fake_finalize(TSS2_TCTI_CONTEXT *tctiContext)
|
|
{
|
|
(void)(tctiContext);
|
|
}
|
|
|
|
TSS2_RC
|
|
__wrap_Tss2_TctiLdr_Initialize (const char *nameConf,
|
|
TSS2_TCTI_CONTEXT **tcti)
|
|
{
|
|
if (tcti == NULL)
|
|
return TSS2_BASE_RC_GENERAL_FAILURE;
|
|
|
|
/* This is to calm down scan-build */
|
|
TSS2_TCTI_CONTEXT_FAKE **faketcti = (TSS2_TCTI_CONTEXT_FAKE **) tcti;
|
|
|
|
*faketcti = calloc(1, sizeof(TSS2_TCTI_CONTEXT_FAKE));
|
|
TSS2_TCTI_MAGIC(*faketcti) = TCTI_FAKE_MAGIC;
|
|
TSS2_TCTI_VERSION(*faketcti) = TCTI_FAKE_VERSION;
|
|
TSS2_TCTI_TRANSMIT(*faketcti) = (void*)1;
|
|
TSS2_TCTI_RECEIVE(*faketcti) = (void*)1;
|
|
TSS2_TCTI_FINALIZE(*faketcti) = tcti_fake_finalize;
|
|
TSS2_TCTI_CANCEL(*faketcti) = NULL;
|
|
TSS2_TCTI_GET_POLL_HANDLES(*faketcti) = NULL;
|
|
TSS2_TCTI_SET_LOCALITY(*faketcti) = NULL;
|
|
|
|
return TSS2_RC_SUCCESS;
|
|
}
|
|
|
|
void
|
|
__wrap_Tss2_TctiLdr_Finalize (TSS2_TCTI_CONTEXT **tcti)
|
|
{
|
|
free(*tcti);
|
|
*tcti = NULL;
|
|
}
|
|
|
|
static void
|
|
test(void **state)
|
|
{
|
|
TSS2_RC r;
|
|
ESYS_CONTEXT *ectx;
|
|
|
|
r = Esys_Initialize(&ectx, NULL, NULL);
|
|
assert_int_equal(r, TSS2_RC_SUCCESS);
|
|
|
|
Esys_Finalize(&ectx);
|
|
|
|
assert_ptr_equal(ectx, NULL);
|
|
}
|
|
|
|
int
|
|
main(int argc, char *argv[])
|
|
{
|
|
const struct CMUnitTest tests[] = {
|
|
cmocka_unit_test(test),
|
|
};
|
|
return cmocka_run_group_tests(tests, NULL, NULL);
|
|
}
|