Add 10 tests that check the behaviour of the OCALL functionality. The tests
in question are detailed below:
OCALL without parameters:
-------------------------
Performs an OCALL without any parameters.
OCALL with value parameters (in/inout/out/in):
----------------------------------------------
Performs an OCALL with value parameters and in parameter directions,
verifying that the values are transferred correctly between normal world
and secure world.
OCALL with memref parameters (in/inout/out/in):
-----------------------------------------------
Performs an OCALL with memref parameters and in parameter directions,
verifying that the bufers are transferred correctly between normal world
and secure world.
Close session during OCALL:
---------------------------
Performs an OCALL that closes the session through which the original
function invocation was performed. Ascertains that the OCALL is cancelled
and that the session is closed.
Finalize context during OCALL:
------------------------------
Performs an OCALL that finalizes the context through which the original
function invocation was performed. Ascertains that the OCALL is cancelled
and that the session that was originally used to perform the function
invocation is closed as a result of the context being finalized.
NULL memref param:
------------------
Verifies that OCALLs can carry memref parameters with NULL buffers in all
directions.
NULL memref param (mixed params):
---------------------------------
Verifies that OCALLs can carry memref parameters with NULL buffers
alongside value and non-NULL memref parameters in various directions.
NULL memref param (invalid params):
-----------------------------------
Verifies that attempting to perform an OCALL with memref parameters with a
NULL buffer and a non-zero size and with a non-NULL buffer and a zero size
fails at the Internal Core API layer.
OCALL during session open:
--------------------------
Ascertains that the CA can receive an OCALL during session open.
Finalize context during session open OCALL:
-------------------------------------------
Performs an OCALL during session open that finalizes the context via which
the session was being opened, verifies that the OCALL is cancelled, and
that the session fails to open.
Signed-off-by: Hernan Gatta <[email protected]>
Acked-by: Jerome Forissier <[email protected]>