fapi-provisioning-error.int.c 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /* SPDX-License-Identifier: BSD-2-Clause */
  2. /*******************************************************************************
  3. * Copyright 2017-2018, Fraunhofer SIT sponsored by Infineon Technologies AG
  4. * All rights reserved.
  5. *******************************************************************************/
  6. #ifdef HAVE_CONFIG_H
  7. #include <config.h>
  8. #endif
  9. #include <stdlib.h>
  10. #include "tss2_fapi.h"
  11. #include "tss2_esys.h"
  12. #include "test-fapi.h"
  13. #include "fapi_util.h"
  14. #include "fapi_int.h"
  15. #include "tss2_esys.h"
  16. #include "esys_iutil.h"
  17. #define LOGMODULE test
  18. #include "util/log.h"
  19. #include "util/aux_util.h"
  20. #include "tss2_mu.h"
  21. #include "fapi_int.h"
  22. /** Test the FAPI cleanup in an error case.
  23. *
  24. * Tested FAPI commands:
  25. * - Fapi_Provision()
  26. *
  27. * @param[in,out] context The FAPI_CONTEXT.
  28. * @retval EXIT_FAILURE
  29. * @retval EXIT_SUCCESS
  30. */
  31. int
  32. test_fapi_test_provisioning_error(FAPI_CONTEXT *context)
  33. {
  34. TSS2_RC r;
  35. r = Fapi_Provision(context, NULL, NULL, NULL);
  36. if ((r & ~TPM2_RC_N_MASK) == (TPM2_RC_NV_DEFINED & ~TPM2_RC_N_MASK))
  37. return EXIT_SUCCESS;
  38. goto_if_error(r, "Error Fapi_Provision", error);
  39. return EXIT_FAILURE;
  40. error:
  41. Fapi_Delete(context, "/");
  42. return EXIT_FAILURE;
  43. }
  44. int
  45. test_invoke_fapi(FAPI_CONTEXT *fapi_context)
  46. {
  47. return test_fapi_test_provisioning_error(fapi_context);
  48. }