add invalid signature test case
diff --git a/tests/suites/test_suite_psa_crypto.function b/tests/suites/test_suite_psa_crypto.function
index f276bee..0e1662f 100755
--- a/tests/suites/test_suite_psa_crypto.function
+++ b/tests/suites/test_suite_psa_crypto.function
@@ -741,7 +741,7 @@
 void aead_decrypt( int key_type_arg, char * key_hex,
                 int alg_arg, char * input_hex,
                 char * add_data, char * nonce_hex,
-                char * expected_result_hex )
+                char * expected_result_hex, int expected_result_arg )
 {
     int slot = 1;
     psa_key_type_t key_type = key_type_arg;
@@ -753,7 +753,7 @@
     unsigned char *output_data = NULL;
     size_t output_size = 0;
     size_t output_length = 0;
-    unsigned char *expected_result = NULL;
+    unsigned char *expected_data = NULL;
     size_t expected_result_length = 0;
     uint8_t* nonce = NULL;
     size_t nonce_length = 0;
@@ -761,6 +761,7 @@
     unsigned char *additional_data = NULL;
     size_t additional_data_length = 0;
     psa_key_policy_t policy = {0};
+    psa_status_t expected_result = (psa_status_t) expected_result_arg;
 
 
     key_data = unhexify_alloc( key_hex, &key_size );
@@ -774,8 +775,8 @@
     TEST_ASSERT( output_data != NULL );
     nonce = unhexify_alloc( nonce_hex, &nonce_length );
     TEST_ASSERT( nonce != NULL );
-    expected_result = unhexify_alloc( expected_result_hex, &expected_result_length );
-    TEST_ASSERT( expected_result != NULL );
+    expected_data = unhexify_alloc( expected_result_hex, &expected_result_length );
+    TEST_ASSERT( expected_data != NULL );
     
     TEST_ASSERT( psa_crypto_init( ) == PSA_SUCCESS );
 
@@ -792,11 +793,15 @@
                                nonce, nonce_length,
                                additional_data, additional_data_length,
                                input_data, input_size, output_data,
-                               output_size, &output_length ) == PSA_SUCCESS );
+                               output_size, &output_length ) == expected_result );
 
 
-    TEST_ASSERT( memcmp( output_data, expected_result,
-                                output_length ) == 0 );
+    if ( expected_result == PSA_SUCCESS )
+    {
+        TEST_ASSERT( memcmp( output_data, expected_data,
+                                    output_length ) == 0 );
+    }
+
     
 
 exit:
@@ -806,7 +811,7 @@
     mbedtls_free( additional_data );
     mbedtls_free( output_data );
     mbedtls_free( nonce );
-    mbedtls_free( expected_result );
+    mbedtls_free( expected_data );
     mbedtls_psa_crypto_free( );
 }
 /* END_CASE */