14 #include "../audit_tests_common.h"
21 #define EMPTY_RETRIEVED_LOG_SIZE (0)
28 #define EMPTY_RETRIEVED_LOG_ITEMS (0)
36 #define SINGLE_RETRIEVED_LOG_SIZE (STANDARD_LOG_ENTRY_SIZE)
43 #define SINGLE_RETRIEVED_LOG_ITEMS (1)
50 #define SECOND_ELEMENT_START_INDEX (1)
55 static struct test_t audit_veneers_tests[] = {
56 {&tfm_audit_test_1001,
"TFM_AUDIT_TEST_1001",
64 list_size = (
sizeof(audit_veneers_tests) /
65 sizeof(audit_veneers_tests[0]));
67 set_testsuite(
"AuditLog non-secure interface test (TFM_AUDIT_TEST_1XXX)",
68 audit_veneers_tests, list_size, p_test_suite);
71 #if AUDIT_TEST_S_ENABLE
89 uint32_t idx, stored_size, num_records, retrieved_size;
96 TEST_FAIL(
"Getting log info has returned error");
111 for (idx=0; idx<num_records; idx++) {
114 TEST_FAIL(
"Getting record size individually has returned error");
119 TEST_FAIL(
"Unexpected record size for a single standard record");
127 TEST_FAIL(
"Getting record size for non-existent record has not failed");
144 TEST_FAIL(
"Log retrieval from NS returned error");
168 TEST_FAIL(
"Log retrieval from NS should fail, buffer too small");
188 TEST_FAIL(
"Log retrieval from NS returned error");
204 TEST_FAIL(
"Unexpected argument in the first entry");
211 TEST_FAIL(
"Log record deletion from NS returned error");
218 TEST_FAIL(
"Getting log info has returned error");
222 if (num_records != 1) {
223 TEST_FAIL(
"Unexpected number of records in the log after delete");
228 TEST_FAIL(
"Unexpected size in the log after deletion");
235 TEST_FAIL(
"Log record deletion from NS returned error");
242 TEST_FAIL(
"Getting log info has returned error");
246 if (num_records != 0) {
247 TEST_FAIL(
"Unexpected number of records in the log after deletion");
251 if (stored_size != 0) {
252 TEST_FAIL(
"Unexpected size in the log after deletion");
269 TEST_LOG(
"Skipped when Secure audit logging test is disabled.\r\n");
#define EMPTY_RETRIEVED_LOG_SIZE
Log size when the retrieved buffer is empty.
#define STANDARD_LOG_ENTRY_SIZE
A log item with no payload (standard size) has the following size. More details can be found observin...
#define STR(a)
A standard stringify macro.
#define TEST_FAIL(info_msg)
psa_status_t psa_audit_get_record_info(const uint32_t record_index, uint32_t *size)
Returns the size of the record at the specified index.
enum test_suite_err_t set_testsuite(const char *name, struct test_t *test_list, uint32_t size, struct test_suite_t *p_ts)
Sets test suite parameters.
psa_status_t psa_audit_delete_record(const uint32_t record_index, const uint8_t *token, const uint32_t token_size)
Deletes a record at the specified index.
Fixed size header for a log record.
#define INITIAL_LOG_RECORDS
Initial state of the log number of records.
This structure contains the record that is added to the audit log by the requesting secure service...
void register_testsuite_ns_audit_interface(struct test_suite_t *p_test_suite)
Register testsuite for audit logging non-secure interface.
#define SINGLE_RETRIEVED_LOG_SIZE
Log size when the retrieved buffer has 1 item of standard size (no payload)
#define LOCAL_BUFFER_SIZE
Size in bytes of the local buffer. Size accomodates two standard size (no payload) log items...
#define INITIAL_LOG_SIZE
Initial state of the log size in bytes.
#define SECOND_ELEMENT_EXPECTED_CONTENT
Content of the log record in the second log item in the final request.
int32_t psa_status_t
Function return status.
psa_status_t psa_audit_get_info(uint32_t *num_records, uint32_t *size)
Returns the total number and size of the records stored.
psa_status_t psa_audit_retrieve_record(const uint32_t record_index, const uint32_t buffer_size, const uint8_t *token, const uint32_t token_size, uint8_t *buffer, uint32_t *record_size)
Retrieves a record at the specified index.