Tests for PSA ITS over stdio files
diff --git a/tests/suites/test_suite_psa_its.data b/tests/suites/test_suite_psa_its.data
index d6c0e15..6c43536 100644
--- a/tests/suites/test_suite_psa_its.data
+++ b/tests/suites/test_suite_psa_its.data
@@ -35,31 +35,31 @@
 nonexistent:0:1
 
 Get 0 bytes of 10 at 10
-get_at:0:"40414243444546474849":10:0:PSA_ITS_SUCCESS
+get_at:0:"40414243444546474849":10:0:PSA_SUCCESS
 
 Get 1 byte of 10 at 9
-get_at:0:"40414243444546474849":9:1:PSA_ITS_SUCCESS
+get_at:0:"40414243444546474849":9:1:PSA_SUCCESS
 
 Get 0 bytes of 10 at 0
-get_at:0:"40414243444546474849":0:0:PSA_ITS_SUCCESS
+get_at:0:"40414243444546474849":0:0:PSA_SUCCESS
 
 Get 1 byte of 10 at 0
-get_at:0:"40414243444546474849":1:0:PSA_ITS_SUCCESS
+get_at:0:"40414243444546474849":1:0:PSA_SUCCESS
 
 Get 2 bytes of 10 at 1
-get_at:0:"40414243444546474849":1:2:PSA_ITS_SUCCESS
+get_at:0:"40414243444546474849":1:2:PSA_SUCCESS
 
 Get 1 byte of 10 at 10: out of range
-get_at:0:"40414243444546474849":10:1:PSA_ITS_ERROR_INCORRECT_SIZE
+get_at:0:"40414243444546474849":10:1:PSA_ERROR_INVALID_ARGUMENT
 
 Get 1 byte of 10 at 11: out of range
-get_at:0:"40414243444546474849":11:1:PSA_ITS_ERROR_INCORRECT_SIZE
+get_at:0:"40414243444546474849":11:1:PSA_ERROR_INVALID_ARGUMENT
 
 Get 0 bytes of 10 at 11: out of range
-get_at:0:"40414243444546474849":11:1:PSA_ITS_ERROR_INCORRECT_SIZE
+get_at:0:"40414243444546474849":11:1:PSA_ERROR_INVALID_ARGUMENT
 
 Get -1 byte of 10 at 10: out of range
-get_at:0:"40414243444546474849":10:-1:PSA_ITS_ERROR_INCORRECT_SIZE
+get_at:0:"40414243444546474849":10:-1:PSA_ERROR_INVALID_ARGUMENT
 
 Get 1 byte of 10 at -1: out of range
-get_at:0:"40414243444546474849":-1:1:PSA_ITS_ERROR_INCORRECT_SIZE
+get_at:0:"40414243444546474849":-1:1:PSA_ERROR_INVALID_ARGUMENT
diff --git a/tests/suites/test_suite_psa_its.function b/tests/suites/test_suite_psa_its.function
index 70d4578..867f64f 100644
--- a/tests/suites/test_suite_psa_its.function
+++ b/tests/suites/test_suite_psa_its.function
@@ -1,53 +1,58 @@
 /* BEGIN_HEADER */
-#include "../library/psa_its_file.h"
+#include "../library/psa_crypto_its.h"
 
 /* Internal definitions of the implementation, copied for the sake of
  * some of the tests and of the cleanup code. */
 #define PSA_ITS_STORAGE_PREFIX ""
-#define PSA_ITS_STORAGE_FILENAME_PATTERN "%08lx.psa_its"
+#define PSA_ITS_STORAGE_FILENAME_PATTERN "%08lx%08lx"
+#define PSA_ITS_STORAGE_SUFFIX ".psa_its"
 #define PSA_ITS_STORAGE_FILENAME_LENGTH         \
-    ( sizeof( PSA_ITS_STORAGE_PREFIX ) + 16 )
-#define PSA_ITS_STORAGE_TEMP PSA_ITS_STORAGE_PREFIX "tempfile.psa_its"
-
-static void psa_its_fill_filename( uint32_t uid, char *filename )
+    ( sizeof( PSA_ITS_STORAGE_PREFIX ) - 1 + /*prefix without terminating 0*/ \
+      16 + /*UID (64-bit number in hex)*/                               \
+      sizeof( PSA_ITS_STORAGE_SUFFIX ) - 1 + /*suffix without terminating 0*/ \
+      1 /*terminating null byte*/ )
+#define PSA_ITS_STORAGE_TEMP \
+    PSA_ITS_STORAGE_PREFIX "tempfile" PSA_ITS_STORAGE_SUFFIX
+static void psa_its_fill_filename( psa_storage_uid_t uid, char *filename )
 {
-    snprintf( filename, PSA_ITS_STORAGE_FILENAME_LENGTH,
-              "%s" PSA_ITS_STORAGE_FILENAME_PATTERN,
-              PSA_ITS_STORAGE_PREFIX, (unsigned long) uid );
+    /* Break up the UID into two 32-bit pieces so as not to rely on
+     * long long support in snprintf. */
+    mbedtls_snprintf( filename, PSA_ITS_STORAGE_FILENAME_LENGTH,
+                      "%s" PSA_ITS_STORAGE_FILENAME_PATTERN "%s",
+                      PSA_ITS_STORAGE_PREFIX,
+                      (unsigned long) ( uid >> 32 ),
+                      (unsigned long) ( uid & 0xffffffff ),
+                      PSA_ITS_STORAGE_SUFFIX );
 }
 
-#define MAX( m, n ) ( ( m ) > ( n ) ? ( m ) : ( n ) )
-
-#define ITS_ASSERT( expr )                      \
-    TEST_ASSERT( ( expr ) == PSA_ITS_SUCCESS )
-
 /* Maximum uid used by the test, recorded so that cleanup() can delete
- * all files. 0xffffffff is excluded. */
-static uint32_t uid_max = 0;
+ * all files. 0xffffffffffffffff is always cleaned up, so it does not
+ * need to and should not be taken into account for uid_max. */
+static psa_storage_uid_t uid_max = 0;
 
 static void cleanup( void )
 {
     char filename[PSA_ITS_STORAGE_FILENAME_LENGTH];
-    uint32_t uid;
+    psa_storage_uid_t uid;
     for( uid = 0; uid < uid_max; uid++ )
     {
         psa_its_fill_filename( uid, filename );
         remove( filename );
     }
-    psa_its_fill_filename( 0xffffffff, filename );
+    psa_its_fill_filename( (psa_storage_uid_t)( -1 ), filename );
     remove( filename );
     remove( PSA_ITS_STORAGE_TEMP );
     uid_max = 0;
 }
 
-static psa_its_status_t psa_its_set_wrap( uint32_t uid,
-                                          uint32_t data_length,
-                                          const void *p_data,
-                                          psa_its_create_flags_t create_flags )
+static psa_status_t psa_its_set_wrap( psa_storage_uid_t uid,
+                                      uint32_t data_length,
+                                      const void *p_data,
+                                      psa_storage_create_flags_t create_flags )
 {
-    if( uid_max != 0xffffffff && uid_max < uid )
+    if( uid_max != (psa_storage_uid_t)( -1 ) && uid_max < uid )
         uid_max = uid;
-    return psa_its_set( uid, data_length, p_data, create_flags );
+    return( psa_its_set( uid, data_length, p_data, create_flags ) );
 }
 
 /* END_HEADER */
@@ -60,22 +65,22 @@
 /* BEGIN_CASE */
 void set_get_remove( int uid_arg, int flags_arg, data_t *data )
 {
-    uint32_t uid = uid_arg;
+    psa_storage_uid_t uid = uid_arg;
     uint32_t flags = flags_arg;
-    struct psa_its_info_t info;
+    struct psa_storage_info_t info;
     unsigned char *buffer = NULL;
 
     ASSERT_ALLOC( buffer, data->len );
 
-    ITS_ASSERT( psa_its_set_wrap( uid, data->len, data->x, flags ) );
+    PSA_ASSERT( psa_its_set_wrap( uid, data->len, data->x, flags ) );
 
-    ITS_ASSERT( psa_its_get_info( uid, &info ) );
+    PSA_ASSERT( psa_its_get_info( uid, &info ) );
     TEST_ASSERT( info.size == data->len );
     TEST_ASSERT( info.flags == flags );
-    ITS_ASSERT( psa_its_get( uid, 0, data->len, buffer ) );
+    PSA_ASSERT( psa_its_get( uid, 0, data->len, buffer ) );
     ASSERT_COMPARE( data->x, data->len, buffer, data->len );
 
-    ITS_ASSERT( psa_its_remove( uid ) );
+    PSA_ASSERT( psa_its_remove( uid ) );
 
 exit:
     mbedtls_free( buffer );
@@ -88,29 +93,29 @@
                     int flags1_arg, data_t *data1,
                     int flags2_arg, data_t *data2 )
 {
-    uint32_t uid = uid_arg;
+    psa_storage_uid_t uid = uid_arg;
     uint32_t flags1 = flags1_arg;
     uint32_t flags2 = flags2_arg;
-    struct psa_its_info_t info;
+    struct psa_storage_info_t info;
     unsigned char *buffer = NULL;
 
     ASSERT_ALLOC( buffer, MAX( data1->len, data2->len ) );
 
-    ITS_ASSERT( psa_its_set_wrap( uid, data1->len, data1->x, flags1 ) );
-    ITS_ASSERT( psa_its_get_info( uid, &info ) );
+    PSA_ASSERT( psa_its_set_wrap( uid, data1->len, data1->x, flags1 ) );
+    PSA_ASSERT( psa_its_get_info( uid, &info ) );
     TEST_ASSERT( info.size == data1->len );
     TEST_ASSERT( info.flags == flags1 );
-    ITS_ASSERT( psa_its_get( uid, 0, data1->len, buffer ) );
+    PSA_ASSERT( psa_its_get( uid, 0, data1->len, buffer ) );
     ASSERT_COMPARE( data1->x, data1->len, buffer, data1->len );
 
-    ITS_ASSERT( psa_its_set_wrap( uid, data2->len, data2->x, flags2 ) );
-    ITS_ASSERT( psa_its_get_info( uid, &info ) );
+    PSA_ASSERT( psa_its_set_wrap( uid, data2->len, data2->x, flags2 ) );
+    PSA_ASSERT( psa_its_get_info( uid, &info ) );
     TEST_ASSERT( info.size == data2->len );
     TEST_ASSERT( info.flags == flags2 );
-    ITS_ASSERT( psa_its_get( uid, 0, data2->len, buffer ) );
+    PSA_ASSERT( psa_its_get( uid, 0, data2->len, buffer ) );
     ASSERT_COMPARE( data2->x, data2->len, buffer, data2->len );
 
-    ITS_ASSERT( psa_its_remove( uid ) );
+    PSA_ASSERT( psa_its_remove( uid ) );
 
 exit:
     mbedtls_free( buffer );
@@ -121,8 +126,8 @@
 /* BEGIN_CASE */
 void set_multiple( int first_id, int count )
 {
-    uint32_t uid0 = first_id;
-    uint32_t uid;
+    psa_storage_uid_t uid0 = first_id;
+    psa_storage_uid_t uid;
     char stored[40];
     char retrieved[40];
 
@@ -131,19 +136,19 @@
     {
         mbedtls_snprintf( stored, sizeof( stored ),
                           "Content of file 0x%08lx", (unsigned long) uid );
-        ITS_ASSERT( psa_its_set_wrap( uid, sizeof( stored ), stored, 0 ) );
+        PSA_ASSERT( psa_its_set_wrap( uid, sizeof( stored ), stored, 0 ) );
     }
 
     for( uid = uid0; uid < uid0 + count; uid++ )
     {
         mbedtls_snprintf( stored, sizeof( stored ),
                           "Content of file 0x%08lx", (unsigned long) uid );
-        ITS_ASSERT( psa_its_get( uid, 0, sizeof( stored ), retrieved ) );
+        PSA_ASSERT( psa_its_get( uid, 0, sizeof( stored ), retrieved ) );
         ASSERT_COMPARE( retrieved, sizeof( stored ),
                         stored, sizeof( stored ) );
-        ITS_ASSERT( psa_its_remove( uid ) );
+        PSA_ASSERT( psa_its_remove( uid ) );
         TEST_ASSERT( psa_its_get( uid, 0, 0, NULL ) ==
-                     PSA_ITS_ERROR_KEY_NOT_FOUND );
+                     PSA_ERROR_DOES_NOT_EXIST );
     }
 
 exit:
@@ -154,20 +159,20 @@
 /* BEGIN_CASE */
 void nonexistent( int uid_arg, int create_and_remove )
 {
-    uint32_t uid = uid_arg;
-    struct psa_its_info_t info;
+    psa_storage_uid_t uid = uid_arg;
+    struct psa_storage_info_t info;
 
     if( create_and_remove )
     {
-        ITS_ASSERT( psa_its_set_wrap( uid, 0, NULL, 0 ) );
-        ITS_ASSERT( psa_its_remove( uid ) );
+        PSA_ASSERT( psa_its_set_wrap( uid, 0, NULL, 0 ) );
+        PSA_ASSERT( psa_its_remove( uid ) );
     }
 
-    TEST_ASSERT( psa_its_remove( uid ) == PSA_ITS_ERROR_KEY_NOT_FOUND );
+    TEST_ASSERT( psa_its_remove( uid ) == PSA_ERROR_DOES_NOT_EXIST );
     TEST_ASSERT( psa_its_get_info( uid, &info ) ==
-                 PSA_ITS_ERROR_KEY_NOT_FOUND );
+                 PSA_ERROR_DOES_NOT_EXIST );
     TEST_ASSERT( psa_its_get( uid, 0, 0, NULL ) ==
-                 PSA_ITS_ERROR_KEY_NOT_FOUND );
+                 PSA_ERROR_DOES_NOT_EXIST );
 
 exit:
     cleanup( );
@@ -179,9 +184,9 @@
              int offset, int length_arg,
              int expected_status )
 {
-    uint32_t uid = uid_arg;
+    psa_storage_uid_t uid = uid_arg;
     unsigned char *buffer = NULL;
-    psa_its_status_t ist;
+    psa_status_t status;
     size_t length = length_arg >= 0 ? length_arg : 0;
     unsigned char *trailer;
     size_t i;
@@ -190,16 +195,16 @@
     trailer = buffer + length;
     memset( trailer, '-', 16 );
 
-    ITS_ASSERT( psa_its_set_wrap( uid, data->len, data->x, 0 ) );
+    PSA_ASSERT( psa_its_set_wrap( uid, data->len, data->x, 0 ) );
 
-    ist = psa_its_get( uid, offset, length_arg, buffer );
-    TEST_ASSERT( ist == (psa_its_status_t) expected_status );
-    if( ist == PSA_ITS_SUCCESS )
+    status = psa_its_get( uid, offset, length_arg, buffer );
+    TEST_ASSERT( status == (psa_status_t) expected_status );
+    if( status == PSA_SUCCESS )
         ASSERT_COMPARE( data->x + offset, length,
                         buffer, length );
     for( i = 0; i < 16; i++ )
         TEST_ASSERT( trailer[i] == '-' );
-    ITS_ASSERT( psa_its_remove( uid ) );
+    PSA_ASSERT( psa_its_remove( uid ) );
 
 exit:
     mbedtls_free( buffer );