@@ -260,13 +260,67 @@ tcti_spi_with_wait_state_success_test (void **state)
260
260
free (tcti_ctx );
261
261
}
262
262
263
+ static void
264
+ tcti_spi_with_bad_callbacks_test (void * * state )
265
+ {
266
+ TSS2_RC rc ;
267
+ size_t size ;
268
+ TSS2_TCTI_SPI_HELPER_PLATFORM tcti_platform = {};
269
+ TSS2_TCTI_CONTEXT * tcti_ctx ;
270
+
271
+ // Get requested TCTI context size
272
+ rc = Tss2_Tcti_Spi_Helper_Init (NULL , & size , & tcti_platform );
273
+ assert_int_equal (rc , TSS2_RC_SUCCESS );
274
+
275
+ // Allocate TCTI context size
276
+ tcti_ctx = (TSS2_TCTI_CONTEXT * ) calloc (1 , size );
277
+ assert_non_null (tcti_ctx );
278
+
279
+ // Initialize TCTI context
280
+ tcti_platform = create_tcti_spi_helper_platform (false);
281
+ tcti_platform .sleep_ms = NULL ;
282
+ rc = Tss2_Tcti_Spi_Helper_Init (tcti_ctx , & size , & tcti_platform );
283
+ assert_int_equal (rc , TSS2_TCTI_RC_BAD_VALUE );
284
+
285
+ free (tcti_platform .user_data );
286
+ free (tcti_ctx );
287
+ }
288
+
289
+ static void
290
+ tcti_spi_with_wait_state_bad_callbacks_test (void * * state )
291
+ {
292
+ TSS2_RC rc ;
293
+ size_t size ;
294
+ TSS2_TCTI_SPI_HELPER_PLATFORM tcti_platform = {};
295
+ TSS2_TCTI_CONTEXT * tcti_ctx ;
296
+
297
+ // Get requested TCTI context size
298
+ rc = Tss2_Tcti_Spi_Helper_Init (NULL , & size , & tcti_platform );
299
+ assert_int_equal (rc , TSS2_RC_SUCCESS );
300
+
301
+ // Allocate TCTI context size
302
+ tcti_ctx = (TSS2_TCTI_CONTEXT * ) calloc (1 , size );
303
+ assert_non_null (tcti_ctx );
304
+
305
+ // Initialize TCTI context
306
+ tcti_platform = create_tcti_spi_helper_platform (true);
307
+ tcti_platform .spi_acquire = NULL ;
308
+ rc = Tss2_Tcti_Spi_Helper_Init (tcti_ctx , & size , & tcti_platform );
309
+ assert_int_equal (rc , TSS2_TCTI_RC_BAD_VALUE );
310
+
311
+ free (tcti_platform .user_data );
312
+ free (tcti_ctx );
313
+ }
314
+
263
315
int
264
316
main (int argc ,
265
317
char * argv [])
266
318
{
267
319
const struct CMUnitTest tests [] = {
268
320
cmocka_unit_test (tcti_spi_no_wait_state_success_test ),
269
321
cmocka_unit_test (tcti_spi_with_wait_state_success_test ),
322
+ cmocka_unit_test (tcti_spi_with_bad_callbacks_test ),
323
+ cmocka_unit_test (tcti_spi_with_wait_state_bad_callbacks_test )
270
324
};
271
325
return cmocka_run_group_tests (tests , NULL , NULL );
272
326
}
0 commit comments