blob: d3fe0817bccb98d30ba39e091551acff2e7b2ee5 [file] [log] [blame]
Pascal Brandc639ac82015-07-02 08:53:34 +02001/*
2 * Copyright (c) 2014, STMicroelectronics International N.V.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License Version 2 as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14#ifndef XTEST_TEST_H
15#define XTEST_TEST_H
16#include <adbg.h>
17#include <tee_client_api.h>
Pascal Brandc639ac82015-07-02 08:53:34 +020018
19/*ADBG Cases declaration.*/
20ADBG_CASE_DECLARE(XTEST_TEE_1001);
21ADBG_CASE_DECLARE(XTEST_TEE_1004);
22ADBG_CASE_DECLARE(XTEST_TEE_1005);
23ADBG_CASE_DECLARE(XTEST_TEE_1006);
24ADBG_CASE_DECLARE(XTEST_TEE_1007);
25ADBG_CASE_DECLARE(XTEST_TEE_1008);
26ADBG_CASE_DECLARE(XTEST_TEE_1009);
27ADBG_CASE_DECLARE(XTEST_TEE_1010);
28ADBG_CASE_DECLARE(XTEST_TEE_1011);
29ADBG_CASE_DECLARE(XTEST_TEE_1012);
Jens Wiklanderac27ec12015-07-15 15:23:14 +020030ADBG_CASE_DECLARE(XTEST_TEE_1013);
Pascal Brandc639ac82015-07-02 08:53:34 +020031
32ADBG_CASE_DECLARE(XTEST_TEE_2001);
33ADBG_CASE_DECLARE(XTEST_TEE_2002);
34
35ADBG_CASE_DECLARE(XTEST_TEE_4001);
36ADBG_CASE_DECLARE(XTEST_TEE_4002);
37ADBG_CASE_DECLARE(XTEST_TEE_4003_NO_XTS);
38ADBG_CASE_DECLARE(XTEST_TEE_4003_XTS);
39ADBG_CASE_DECLARE(XTEST_TEE_4004);
40ADBG_CASE_DECLARE(XTEST_TEE_4005);
41ADBG_CASE_DECLARE(XTEST_TEE_4006);
42ADBG_CASE_DECLARE(XTEST_TEE_4007);
43ADBG_CASE_DECLARE(XTEST_TEE_4008);
Pascal Brand2b92b642015-07-16 13:29:42 +020044ADBG_CASE_DECLARE(XTEST_TEE_4009);
Jens Wiklander70a0b2c2016-05-18 08:39:35 +020045ADBG_CASE_DECLARE(XTEST_TEE_4010);
Jens Wiklanderb58916e2016-07-07 15:29:32 +020046ADBG_CASE_DECLARE(XTEST_TEE_4011);
Pascal Brandc639ac82015-07-02 08:53:34 +020047
48ADBG_CASE_DECLARE(XTEST_TEE_5006);
49
50ADBG_CASE_DECLARE(XTEST_TEE_6001);
51ADBG_CASE_DECLARE(XTEST_TEE_6002);
52ADBG_CASE_DECLARE(XTEST_TEE_6003);
53ADBG_CASE_DECLARE(XTEST_TEE_6004);
54ADBG_CASE_DECLARE(XTEST_TEE_6005);
55ADBG_CASE_DECLARE(XTEST_TEE_6006);
56ADBG_CASE_DECLARE(XTEST_TEE_6007);
57ADBG_CASE_DECLARE(XTEST_TEE_6008);
58ADBG_CASE_DECLARE(XTEST_TEE_6009);
Pascal Brand30844922015-09-17 12:12:42 +020059ADBG_CASE_DECLARE(XTEST_TEE_6010);
Jens Wiklandere6d4ddd2016-09-14 15:50:48 +020060#ifdef WITH_GP_TESTS
Pascal Brand8a74e362015-09-10 12:41:52 +020061ADBG_CASE_DECLARE(XTEST_TEE_6011);
62#endif
Pascal Brandeb84c442016-04-19 17:49:49 +020063ADBG_CASE_DECLARE(XTEST_TEE_6012);
Pascal Brand90f23352016-05-19 15:15:47 +020064ADBG_CASE_DECLARE(XTEST_TEE_6013);
Pascal Brand29ee18f2016-05-23 14:13:56 +020065ADBG_CASE_DECLARE(XTEST_TEE_6014);
Jerome Forissiere3854162016-08-12 12:40:12 +020066ADBG_CASE_DECLARE(XTEST_TEE_6015);
Lijianhui (Airbak)29d7c7a2016-08-24 17:35:55 +080067ADBG_CASE_DECLARE(XTEST_TEE_6016);
Pascal Brandc639ac82015-07-02 08:53:34 +020068ADBG_CASE_DECLARE(XTEST_TEE_7001);
69ADBG_CASE_DECLARE(XTEST_TEE_7002);
70ADBG_CASE_DECLARE(XTEST_TEE_7003);
71ADBG_CASE_DECLARE(XTEST_TEE_7004);
72ADBG_CASE_DECLARE(XTEST_TEE_7005);
73ADBG_CASE_DECLARE(XTEST_TEE_7006);
74ADBG_CASE_DECLARE(XTEST_TEE_7007);
75ADBG_CASE_DECLARE(XTEST_TEE_7008);
76ADBG_CASE_DECLARE(XTEST_TEE_7009);
77ADBG_CASE_DECLARE(XTEST_TEE_7010);
78ADBG_CASE_DECLARE(XTEST_TEE_7013);
79ADBG_CASE_DECLARE(XTEST_TEE_7016);
80ADBG_CASE_DECLARE(XTEST_TEE_7017);
81ADBG_CASE_DECLARE(XTEST_TEE_7018);
82ADBG_CASE_DECLARE(XTEST_TEE_7019);
83
84ADBG_CASE_DECLARE(XTEST_TEE_10001);
85ADBG_CASE_DECLARE(XTEST_TEE_10002);
Pascal Brandc639ac82015-07-02 08:53:34 +020086
Jerome Forissiere2881752016-05-18 11:36:38 +020087#if defined(CFG_ENC_FS) && defined(CFG_REE_FS)
Cedric Chaumont1390f3a2015-08-31 13:55:16 +020088ADBG_CASE_DECLARE(XTEST_TEE_20001);
89ADBG_CASE_DECLARE(XTEST_TEE_20002);
90ADBG_CASE_DECLARE(XTEST_TEE_20003);
91ADBG_CASE_DECLARE(XTEST_TEE_20004);
92ADBG_CASE_DECLARE(XTEST_TEE_20021);
93ADBG_CASE_DECLARE(XTEST_TEE_20022);
94ADBG_CASE_DECLARE(XTEST_TEE_20023);
95
96ADBG_CASE_DECLARE(XTEST_TEE_20501);
97ADBG_CASE_DECLARE(XTEST_TEE_20502);
98ADBG_CASE_DECLARE(XTEST_TEE_20503);
99ADBG_CASE_DECLARE(XTEST_TEE_20521);
100ADBG_CASE_DECLARE(XTEST_TEE_20522);
101ADBG_CASE_DECLARE(XTEST_TEE_20523);
Jerome Forissier6ef2e972016-01-22 17:51:13 +0100102#endif /* defined(CFG_ENC_FS) && !defined(CFG_ENC_FS) */
Cedric Chaumont1390f3a2015-08-31 13:55:16 +0200103
James Kungdf1e6cf2015-09-14 22:42:24 +0800104ADBG_CASE_DECLARE(XTEST_TEE_BENCHMARK_1001);
105ADBG_CASE_DECLARE(XTEST_TEE_BENCHMARK_1002);
106ADBG_CASE_DECLARE(XTEST_TEE_BENCHMARK_1003);
107
Igor Opaniuk44aff4b2016-09-16 10:18:00 +0300108/* SHA benchmarks */
Igor Opaniuk136644a2016-09-13 13:40:56 +0300109ADBG_CASE_DECLARE(XTEST_TEE_BENCHMARK_2001);
110ADBG_CASE_DECLARE(XTEST_TEE_BENCHMARK_2002);
Igor Opaniuk44aff4b2016-09-16 10:18:00 +0300111
112/* AES benchmarks */
113ADBG_CASE_DECLARE(XTEST_TEE_BENCHMARK_2011);
114ADBG_CASE_DECLARE(XTEST_TEE_BENCHMARK_2012);
115
Jerome Forissiere3688342015-09-24 10:45:17 -0700116#ifdef WITH_GP_TESTS
Pascal Brand8a74e362015-09-10 12:41:52 +0200117#include "adbg_case_declare.h"
Pascal Brandc639ac82015-07-02 08:53:34 +0200118ADBG_CASE_DECLARE_AUTO_GENERATED_TESTS()
Pascal Brand8a74e362015-09-10 12:41:52 +0200119#endif
Pascal Brandc639ac82015-07-02 08:53:34 +0200120
121/* TEEC_Result */
122ADBG_ENUM_TABLE_DECLARE(TEEC_Result);
123
124#define ADBG_EXPECT_TEEC_RESULT(c, exp, got) \
125 ADBG_EXPECT_ENUM(c, exp, got, ADBG_EnumTable_TEEC_Result)
126
127#define ADBG_EXPECT_TEEC_SUCCESS(c, got) \
128 ADBG_EXPECT_ENUM(c, TEEC_SUCCESS, got, ADBG_EnumTable_TEEC_Result)
129
130/* TEEC_ErrorOrigin */
131ADBG_ENUM_TABLE_DECLARE(TEEC_ErrorOrigin);
132
133#define ADBG_EXPECT_TEEC_ERROR_ORIGIN(c, exp, got) \
134 ADBG_EXPECT_ENUM(c, exp, got, ADBG_EnumTable_TEEC_ErrorOrigin)
135
136/* bass_return_code */
137ADBG_ENUM_TABLE_DECLARE(bass_return_code);
138
139#define ADBG_EXPECT_BASS_RETURN_CODE(c, exp, got) \
140 ADBG_EXPECT_ENUM(c, exp, got, ADBG_EnumTable_bass_return_code)
141
142#define ADBG_EXPECT_BASS_RC_SUCCESS(c, got) \
143 ADBG_EXPECT_ENUM(c, BASS_RC_SUCCESS, got, \
144 ADBG_EnumTable_bass_return_code)
145
146
147extern const char crypt_user_ta[];
148extern const unsigned int crypt_user_ta_size;
149
150extern const char os_test_ta[];
151extern const unsigned int os_test_ta_size;
152
153extern const char create_fail_test_ta[];
154extern const unsigned int create_fail_test_ta_size;
155
156extern const char rpc_test_ta[];
157extern const unsigned int rpc_test_ta_size;
158
159extern const char sims_test_ta[];
160extern const unsigned int sims_test_ta_size;
161
162extern const char gp_tta_testing_client_api_ta[];
163extern const unsigned int gp_tta_testing_client_api_ta_size;
164
165extern const char gp_tta_answer_success_to_open_session_invoke_ta[];
166extern const unsigned int gp_tta_answer_success_to_open_session_invoke_ta_size;
167
168extern const char gp_tta_answer_error_to_invoke_ta[];
169extern const unsigned int gp_tta_answer_error_to_invoke_ta_size;
170
171extern const char gp_tta_answer_error_to_open_session_ta[];
172extern const unsigned int gp_tta_answer_error_to_open_session_ta_size;
173
174extern const char gp_tta_check_open_session_with_4_parameters_ta[];
175extern const unsigned int gp_tta_check_open_session_with_4_parameters_ta_size;
176
177extern const char gp_tta_ds_ta[];
178extern const unsigned int gp_tta_ds_ta_size;
179
180extern const char storage_ta[];
181extern const unsigned int storage_ta_size;
182
183extern const char gp_tta_time_ta[];
184extern const unsigned int gp_tta_time_ta_size;
185
186extern const char gp_tta_tcf_ta[];
187extern const unsigned int gp_tta_tcf_ta_size;
188
189extern const char gp_tta_crypto_ta[];
190extern const unsigned int gp_tta_crypto_ta_size;
191
192extern const char gp_tta_arithm_ta[];
193extern const unsigned int gp_tta_arithm_ta_size;
194
195extern const char gp_tta_ica_ta[];
196extern const unsigned int gp_tta_ica_ta_size;
197
198extern const char gp_tta_ica2_ta[];
199extern const unsigned int gp_tta_ica2_ta_size;
200
201extern const char gp_tta_tcf_singleinstance_ta[];
202extern const unsigned int gp_tta_tcf_singleinstance_ta_size;
203
204extern const char gp_tta_tcf_multipleinstance_ta[];
205extern const unsigned int gp_tta_tcf_multipleinstance_ta_size;
206
207extern const TEEC_UUID crypt_user_ta_uuid;
208extern const TEEC_UUID os_test_ta_uuid;
209extern const TEEC_UUID create_fail_test_ta_uuid;
210extern const TEEC_UUID rpc_test_ta_uuid;
211extern const TEEC_UUID sims_test_ta_uuid;
212extern const TEEC_UUID gp_tta_testing_client_api_uuid;
213extern const TEEC_UUID gp_tta_answer_success_to_open_session_invoke_uuid;
214extern const TEEC_UUID gp_tta_answer_error_to_invoke_uuid;
215extern const TEEC_UUID gp_tta_answer_error_to_open_session_uuid;
216extern const TEEC_UUID gp_tta_check_OpenSession_with_4_parameters_uuid;
217extern const TEEC_UUID gp_tta_ds_uuid;
218extern const TEEC_UUID storage_ta_uuid;
Jerome Forissiere3854162016-08-12 12:40:12 +0200219extern const TEEC_UUID storage2_ta_uuid;
Pascal Brandc639ac82015-07-02 08:53:34 +0200220extern const TEEC_UUID enc_fs_key_manager_test_ta_uuid;
221extern const TEEC_UUID ecc_test_ta_uuid;
Jens Wiklandercf16e842016-02-10 09:07:09 +0100222extern const TEEC_UUID sta_test_ta_uuid;
Pascal Brandc639ac82015-07-02 08:53:34 +0200223extern const TEEC_UUID gp_tta_time_uuid;
Jens Wiklanderac27ec12015-07-15 15:23:14 +0200224extern const TEEC_UUID concurrent_ta_uuid;
Jens Wiklander70672972016-04-06 00:01:45 +0200225extern const TEEC_UUID concurrent_large_ta_uuid;
James Kungdf1e6cf2015-09-14 22:42:24 +0800226extern const TEEC_UUID storage_benchmark_ta_uuid;
Pascal Brandc639ac82015-07-02 08:53:34 +0200227extern char *_device;
228
229#endif /*XTEST_TEST_H*/