55
55
#define MSG_VALUE_LEN 64
56
56
#define MSG_KEY_LEN 32
57
57
58
- #define BUFFER_LEN (MSG_VALUE_LEN/2 ) // size of first step data, and half of the second step data
58
+ #define BUFFER_LEN (MSG_VALUE_LEN/2 )
59
59
60
60
#define MSG_TRNG_READY " ready"
61
61
#define MSG_TRNG_BUFFER " buffer"
64
64
#define MSG_TRNG_TEST_STEP2 " check_step2"
65
65
#define MSG_TRNG_TEST_SUITE_ENDED " Test_suite_ended"
66
66
67
- #define NVKEY 1 // NVstore key for storing and loading data
67
+ #define NVKEY 1 // NVstore key for storing and loading data
68
68
69
69
/* there are some issues with nvstore and greentea reset, so for now nvstore is disabled,
70
- *When solved delete current define and replace all NVSTORE_RESET with NVSTORE_ENABLED*/
70
+ *When solved delete current define and replace all NVSTORE_RESET with NVSTORE_ENABLED*/
71
71
#define NVSTORE_RESET (NVSTORE_ENABLED & 0 )
72
72
73
73
using namespace utest ::v1;
@@ -100,8 +100,8 @@ static int fill_buffer_trng(uint8_t *buffer, trng_t *trng_obj, size_t trng_len)
100
100
static void compress_and_compare (char *key, char *value)
101
101
{
102
102
trng_t trng_obj;
103
- uint8_t out_comp_buf[BUFFER_LEN * 4 ] = {0 }, buffer[BUFFER_LEN] = {0 };
104
- uint8_t input_buf[BUFFER_LEN * 2 ] = {0 }, temp_buff [BUFFER_LEN * 2 ] = {0 };
103
+ uint8_t out_comp_buf[( BUFFER_LEN * 8 ) + 32 ] = {0 }, buffer[BUFFER_LEN] = {0 };
104
+ uint8_t input_buf[BUFFER_LEN * 4 ] = {0 }, temp_buf [BUFFER_LEN * 2 ] = {0 };
105
105
size_t comp_sz = 0 ;
106
106
unsigned int result = 0 ;
107
107
@@ -119,10 +119,14 @@ static void compress_and_compare(char *key, char *value)
119
119
/* Using base64 to decode data sent from host*/
120
120
uint32_t lengthWritten = 0 ;
121
121
uint32_t charsProcessed = 0 ;
122
- result = trng_DecodeNBase64 ((const char *)value, MSG_VALUE_LEN, buffer, BUFFER_LEN, &lengthWritten, &charsProcessed);
122
+ result = trng_DecodeNBase64 ((const char *)value,
123
+ MSG_VALUE_LEN, buffer,
124
+ BUFFER_LEN,
125
+ &lengthWritten,
126
+ &charsProcessed);
123
127
TEST_ASSERT_EQUAL (0 , result);
124
128
#endif
125
- memcpy (input_buf, buffer, BUFFER_LEN );
129
+ memcpy (input_buf, buffer, sizeof (buffer) );
126
130
}
127
131
128
132
/* Fill buffer with trng values*/
@@ -131,46 +135,41 @@ static void compress_and_compare(char *key, char *value)
131
135
132
136
/* pithy_Compress will try to compress the random data, if it succeeded it means the data is not really random*/
133
137
if (strcmp (key, MSG_TRNG_TEST_STEP1) == 0 ) {
134
- printf (" \n ******TRNG_TEST_STEP1*****\n " );
135
138
136
- comp_sz = pithy_Compress (( char *) buffer, sizeof (buffer), ( char *)out_comp_buf , sizeof (out_comp_buf), 9 );
139
+ printf ( " \n ***TRNG_TEST_STEP1*** \n trng_get_bytes for buffer size %d \n " , sizeof (buffer) );
137
140
138
- if (comp_sz >= BUFFER_LEN) {
139
- printf (" trng_get_bytes for buffer size %d was successful" , sizeof (buffer));
140
- } else {
141
- printf (" trng_get_bytes for buffer size %d was unsuccessful" , sizeof (buffer));
142
- TEST_ASSERT (false );
143
- }
144
- printf (" \n ******FINISHED_TRNG_TEST_STEP1*****\n\n " );
141
+ comp_sz = pithy_Compress ((char *)buffer,
142
+ sizeof (buffer),
143
+ (char *)out_comp_buf,
144
+ sizeof (out_comp_buf),
145
+ 9 );
146
+ TEST_ASSERT (comp_sz > sizeof (buffer));
145
147
146
148
} else if (strcmp (key, MSG_TRNG_TEST_STEP2) == 0 ) {
149
+
147
150
/* pithy_Compress will try to compress the random data with a different buffer sizem*/
148
- printf (" \n ******TRNG_TEST_STEP2*****\n " );
149
- result = fill_buffer_trng (temp_buff, &trng_obj, sizeof (temp_buff));
151
+ result = fill_buffer_trng (temp_buf, &trng_obj, sizeof (temp_buf));
150
152
TEST_ASSERT_EQUAL (0 , result);
151
153
152
- comp_sz = pithy_Compress (( char *)temp_buff, sizeof (temp_buff), ( char *)out_comp_buf , sizeof (out_comp_buf), 9 );
154
+ printf ( " \n ***TRNG_TEST_STEP2*** \n trng_get_bytes for buffer size %d \n " , sizeof (temp_buf) );
153
155
154
- if (comp_sz >= BUFFER_LEN) {
155
- printf (" trng_get_bytes for buffer size %d was successful" , sizeof (temp_buff));
156
- } else {
157
- printf (" trng_get_bytes for buffer size %d was unsuccessful" , sizeof (temp_buff));
158
- TEST_ASSERT (false );
159
- }
160
- printf (" \n ******FINISHED_TRNG_TEST_STEP2*****\n\n " );
156
+ comp_sz = pithy_Compress ((char *)temp_buf,
157
+ sizeof (temp_buf),
158
+ (char *)out_comp_buf,
159
+ sizeof (out_comp_buf),
160
+ 9 );
161
+ TEST_ASSERT (comp_sz > sizeof (temp_buf));
161
162
162
- printf (" ******TRNG_TEST_STEP3*****\n " );
163
+ printf (" \n ***TRNG_TEST_STEP3***\n compression of concatenated buffer after reset\n " );
164
+ memcpy (input_buf + sizeof (buffer), temp_buf, sizeof (temp_buf));
163
165
164
166
/* pithy_Compress will try to compress the random data from before reset concatenated with new random data*/
165
- comp_sz = pithy_Compress ((char *)input_buf, sizeof (input_buf), (char *)out_comp_buf, sizeof (out_comp_buf), 9 );
166
-
167
- if (comp_sz >= BUFFER_LEN) {
168
- printf (" compression for concatenated buffer after reset was successful" );
169
- } else {
170
- printf (" compression for concatenated buffer after reset was unsuccessful" );
171
- TEST_ASSERT (false );
172
- }
173
- printf (" \n ******FINISHED_TRNG_TEST_STEP3*****\n\n " );
167
+ comp_sz = pithy_Compress ((char *)input_buf,
168
+ sizeof (temp_buf) + sizeof (buffer),
169
+ (char *)out_comp_buf,
170
+ sizeof (out_comp_buf),
171
+ 9 );
172
+ TEST_ASSERT (comp_sz > sizeof (temp_buf) + sizeof (buffer));
174
173
}
175
174
176
175
/* At the end of step 1 store trng buffer and reset the device*/
0 commit comments