forked from FreeRTOS/iot-reference-esp32
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_param_config.h
229 lines (194 loc) · 7.88 KB
/
test_param_config.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
/*
* FreeRTOS FreeRTOS LTS Qualification Tests preview
* Copyright (C) 2022 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy of
* this software and associated documentation files (the "Software"), to deal in
* the Software without restriction, including without limitation the rights to
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
* the Software, and to permit persons to whom the Software is furnished to do so,
* subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
/**
* @file test_param_config.h
* @brief This setup the test parameters for LTS qualification test.
*/
#ifndef TEST_PARAM_CONFIG_H
#define TEST_PARAM_CONFIG_H
#include <sdkconfig.h>
/* Configuration wrapper. */
#if GRI_QUALIFICATION_FORCE_GENERATE_NEW_KEY_PAIR
#define QUALIFICATION_FORCE_GENERATE_NEW_KEY_PAIR_SETTING ( 1 )
#else
#define QUALIFICATION_FORCE_GENERATE_NEW_KEY_PAIR_SETTING ( 0 )
#endif /* GRI_QUALIFICATION_FORCE_GENERATE_NEW_KEY_PAIR */
#if GRI_QUALIFICATION_OTA_PAL_USE_FILE_SYSTEM
#define QUALIFICATION_OTA_PAL_USE_FILE_SYSTEM_SETTING ( 1 )
#else
#define QUALIFICATION_OTA_PAL_USE_FILE_SYSTEM_SETTING ( 0 )
#endif /* GRI_QUALIFICATION_OTA_PAL_USE_FILE_SYSTEM */
/* Configuration wrapper. */
/**
* @brief Configuration that indicates if the device should generate a key pair.
*
* @note When FORCE_GENERATE_NEW_KEY_PAIR is set to 1, the device should generate
* a new on-device key pair and output public key. When set to 0, the device
* should keep existing key pair.
*
* #define FORCE_GENERATE_NEW_KEY_PAIR 0
*/
#define FORCE_GENERATE_NEW_KEY_PAIR QUALIFICATION_FORCE_GENERATE_NEW_KEY_PAIR_SETTING
/**
* @brief Endpoint of the MQTT broker to connect to in mqtt test.
*
* #define MQTT_SERVER_ENDPOINT "PLACE_HOLDER"
*/
#define MQTT_SERVER_ENDPOINT CONFIG_GRI_QUALIFICATION_MQTT_ENDPOINT
/**
* @brief Port of the MQTT broker to connect to in mqtt test.
*
* #define MQTT_SERVER_PORT (8883)
*/
#define MQTT_SERVER_PORT CONFIG_GRI_QUALIFICATION_MQTT_PORT
/**
* @brief The client identifier for MQTT test.
*
* #define MQTT_TEST_CLIENT_IDENTIFIER "PLACE_HOLDER"
*/
#define MQTT_TEST_CLIENT_IDENTIFIER CONFIG_GRI_QUALIFICATION_CLIENT_IDENTIFIER
/**
* @brief Timeout for MQTT_ProcessLoop() function in milliseconds.
* The timeout value is appropriately chosen for receiving an incoming
* PUBLISH message and ack responses for QoS 1 and QoS 2 communications
* with the broker.
*
* #define MQTT_TEST_PROCESS_LOOP_TIMEOUT_MS ( 700 )
*/
#define MQTT_TEST_PROCESS_LOOP_TIMEOUT_MS CONFIG_GRI_QUALIFICATION_PROCESS_LOOP_TIMEOUT_MS
/**
* @brief Network buffer size specified in bytes. Must be large enough to hold the maximum
* anticipated MQTT payload.
*
* #define MQTT_TEST_NETWORK_BUFFER_SIZE ( 5000 )
*/
#define MQTT_TEST_NETWORK_BUFFER_SIZE ( CONFIG_GRI_QUALIFICATION_NETWORK_BUFFER_SIZE )
/**
* @brief Endpoint of the echo server to connect to in transport interface test.
*
* #define ECHO_SERVER_ENDPOINT "PLACE_HOLDER"
*/
#define ECHO_SERVER_ENDPOINT CONFIG_GRI_QUALIFICATION_ECHO_SERVER
/**
* @brief Port of the echo server to connect to in transport interface test.
*
* #define ECHO_SERVER_PORT (9000)
*/
#define ECHO_SERVER_PORT CONFIG_GRI_QUALIFICATION_ECHO_SERVER_PORT
/**
* @brief Root certificate of the echo server.
*
* @note This certificate should be PEM-encoded.
*
* Must include the PEM header and footer:
* "-----BEGIN CERTIFICATE-----\n"\
* "...base64 data...\n"\
* "-----END CERTIFICATE-----\n"
*
* #define ECHO_SERVER_ROOT_CA "PLACE_HOLDER"
*/
/**
* @brief Client certificate to connect to echo server.
*
* @note This certificate should be PEM-encoded.
*
* Must include the PEM header and footer:
* "-----BEGIN CERTIFICATE-----\n"\
* "...base64 data...\n"\
* "-----END CERTIFICATE-----\n"
*
* #define TRANSPORT_CLIENT_CERTIFICATE NULL
*/
/**
* @brief Client private key to connect to echo server.
*
* @note This is should only be used for testing purpose.
*
* For qualification, the key should be generated on-device.
*
* #define TRANSPORT_CLIENT_PRIVATE_KEY NULL
*/
#define PKCS11_TEST_RSA_KEY_SUPPORT ( 1 )
#define PKCS11_TEST_EC_KEY_SUPPORT ( 0 )
#define PKCS11_TEST_IMPORT_PRIVATE_KEY_SUPPORT ( 1 )
#define PKCS11_TEST_GENERATE_KEYPAIR_SUPPORT ( 0 )
#define PKCS11_TEST_PREPROVISIONED_SUPPORT ( 0 )
#define PKCS11_TEST_LABEL_DEVICE_PRIVATE_KEY_FOR_TLS pkcs11configLABEL_DEVICE_PRIVATE_KEY_FOR_TLS
#define PKCS11_TEST_LABEL_DEVICE_PUBLIC_KEY_FOR_TLS pkcs11configLABEL_DEVICE_PUBLIC_KEY_FOR_TLS
#define PKCS11_TEST_LABEL_DEVICE_CERTIFICATE_FOR_TLS pkcs11configLABEL_DEVICE_CERTIFICATE_FOR_TLS
#define OTA_RSA_SHA1 1
#define OTA_RSA_SHA256 2
#define OTA_ECDSA_SHA256 3
/**
* @brief Certificate type for OTA PAL test.
* Valid options are: OTA_RSA_SHA1, OTA_RSA_SHA256, OTA_ECDSA_SHA256.
*
* #define OTA_PAL_TEST_CERT_TYPE OTA_ECDSA_SHA256
*/
#define OTA_PAL_TEST_CERT_TYPE OTA_ECDSA_SHA256
/**
* @brief Path to cert for OTA test PAL. Used to verify signature.
* If applicable, the device must be pre-provisioned with this certificate. Please see
* test/common/ota/test_files for the set of certificates.
*/
#define OTA_PAL_CERTIFICATE_FILE CONFIG_GRI_QUALIFICATION_OTA_PAL_CERTIFICATE_FILE
/**
* @brief Some devices have a hard-coded name for the firmware image to boot.
*/
#define OTA_PAL_FIRMWARE_FILE CONFIG_GRI_QUALIFICATION_OTA_PAL_FIRMWARE_FILE
/**
* @brief Some boards OTA PAL layers will use the file names passed into it for the
* image and the certificates because their non-volatile memory is abstracted by a
* file system. Set this to 1 if that is the case for your device.
*/
#define OTA_PAL_USE_FILE_SYSTEM QUALIFICATION_OTA_PAL_USE_FILE_SYSTEM_SETTING
/**
* @brief The IoT Thing name for the device for OTA test.
*
* #define IOT_THING_NAME "PLACE_HOLDER"
*/
#define IOT_THING_NAME CONFIG_GRI_QUALIFICATION_THING_NAME
/**
* @brief 1 if using PKCS #11 to access the code sign certificate from NVM.
*/
#define OTA_PAL_READ_CERTIFICATE_FROM_NVM_WITH_PKCS11 0
/**
* @brief Major version for OTA E2E test.
*
* #define OTA_APP_VERSION_MAJOR 0
*/
#define OTA_APP_VERSION_MAJOR CONFIG_GRI_QUALIFICATION_OTA_APP_VERSION_MAJOR
/**
* @brief Major version for OTA E2E test.
*
* #define OTA_APP_VERSION_MINOR 9
*/
#define OTA_APP_VERSION_MINOR CONFIG_GRI_QUALIFICATION_OTA_APP_VERSION_MINOR
/**
* @brief Major version for OTA E2E test.
*
* #define OTA_APP_VERSION_BUILD 1
*/
#define OTA_APP_VERSION_BUILD CONFIG_GRI_QUALIFICATION_OTA_APP_VERSION_BUILD
#define OUTGOING_PUBLISH_RECORD_COUNT ( 10 )
#define INCOMING_PUBLISH_RECORD_COUNT ( 10 )
#endif /* TEST_PARAM_CONFIG_H */