Exercise string parsing in the test framework

Signed-off-by: Gilles Peskine <Gilles.Peskine@arm.com>
This commit is contained in:
Gilles Peskine 2022-12-03 23:50:05 +01:00
parent 1a24895bfd
commit a9946952b4
2 changed files with 67 additions and 1 deletions

View file

@ -4,6 +4,13 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define NEWLINE_CHAR '\n'
#define SPACE_CHAR ' '
#define DOUBLE_QUOTE_CHAR '"'
#define COLON_CHAR ':'
#define BACKSLASH_CHAR '\\'
#define LOWERCASE_N_CHAR 'n'
/* END_HEADER */
/* BEGIN_CASE */
@ -23,3 +30,21 @@ exit:
mbedtls_free(output);
}
/* END_CASE */
/* BEGIN_CASE */
void printf_char2(char *format, int arg1, int arg2, char *result)
{
char *output = NULL;
const size_t n = strlen(result);
/* Nominal case: buffer just large enough */
ASSERT_ALLOC(output, n + 1);
TEST_EQUAL(n, mbedtls_snprintf(output, n + 1, format, arg1, arg2));
ASSERT_COMPARE(result, n + 1, output, n + 1);
mbedtls_free(output);
output = NULL;
exit:
mbedtls_free(output);
}
/* END_CASE */