Skip to content

Commit

Permalink
libc: fix nightly fail on nucleo
Browse files Browse the repository at this point in the history
JIRA CI-260
  • Loading branch information
mateusz-bloch committed Jul 17, 2023
1 parent 4334a5c commit ab15967
Showing 1 changed file with 50 additions and 13 deletions.
63 changes: 50 additions & 13 deletions libc/printf/stdio_printf.c
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,7 @@ static char *test_unsignedToStr(unsigned long long int value, int base, bool big

static char *test_intToAscii(int value)
{
char *str = malloc(2 * sizeof(char));
static char str[2];
str[0] = value;
str[1] = '\0';
return str;
Expand Down Expand Up @@ -2040,7 +2040,7 @@ TEST(stdio_printf_cspn, c)
}


TEST(stdio_printf_cspn, c_ascii)
TEST(stdio_printf_cspn, c_ascii_printf)
{
int i;
const char *format = "%c";
Expand All @@ -2049,14 +2049,24 @@ TEST(stdio_printf_cspn, c_ascii)
char *expect = test_intToAscii(i);

test_assertPrintfs(expect, format, i);
test_assertVprintfs(expect, format, i);
}
}


TEST(stdio_printf_cspn, c_ascii_vprintf)
{
int i;
const char *format = "%c";

for (i = 1; i < 128; i++) {
char *expect = test_intToAscii(i);

free(expect);
test_assertVprintfs(expect, format, i);
}
}


TEST(stdio_printf_cspn, c_non_ascii)
TEST(stdio_printf_cspn, c_non_ascii_printf)
{
int i;
const char *format = "%c";
Expand All @@ -2065,9 +2075,19 @@ TEST(stdio_printf_cspn, c_non_ascii)
char *expect = test_intToAscii(i);

test_assertPrintfs(expect, format, i);
test_assertVprintfs(expect, format, i);
}
}


TEST(stdio_printf_cspn, c_non_ascii_vprintf)
{
int i;
const char *format = "%c";

free(expect);
for (i = 128; i < 256; i++) {
char *expect = test_intToAscii(i);

test_assertVprintfs(expect, format, i);
}
}

Expand Down Expand Up @@ -2124,7 +2144,7 @@ TEST(stdio_printf_cspn, s_specific)
}


TEST(stdio_printf_cspn, s_ascii)
TEST(stdio_printf_cspn, s_ascii_printf)
{
int i;
const char *format = "%s";
Expand All @@ -2137,9 +2157,23 @@ TEST(stdio_printf_cspn, s_ascii)
char *expect = test_intToAscii(i);

test_assertPrintfs(expect, format, expect);
test_assertVprintfs(expect, format, expect);
}
}


TEST(stdio_printf_cspn, s_ascii_vprintf)
{
int i;
const char *format = "%s";

/*
* In ASCII table from number 33 starts printable characters
* in this case we want to dodge terminating ASCII signs
*/
for (i = 33; i < 128; i++) {
char *expect = test_intToAscii(i);

free(expect);
test_assertVprintfs(expect, format, expect);
}
}

Expand Down Expand Up @@ -2586,14 +2620,17 @@ TEST_GROUP_RUNNER(stdio_printf_fega)
TEST_GROUP_RUNNER(stdio_printf_cspn)
{
RUN_TEST_CASE(stdio_printf_cspn, c);
RUN_TEST_CASE(stdio_printf_cspn, c_ascii);
RUN_TEST_CASE(stdio_printf_cspn, c_non_ascii);
RUN_TEST_CASE(stdio_printf_cspn, c_ascii_printf);
RUN_TEST_CASE(stdio_printf_cspn, c_ascii_vprintf);
RUN_TEST_CASE(stdio_printf_cspn, c_non_ascii_printf);
RUN_TEST_CASE(stdio_printf_cspn, c_non_ascii_vprintf);
RUN_TEST_CASE(stdio_printf_cspn, lc);
RUN_TEST_CASE(stdio_printf_cspn, C);
RUN_TEST_CASE(stdio_printf_cspn, s);

RUN_TEST_CASE(stdio_printf_cspn, s_specific);
RUN_TEST_CASE(stdio_printf_cspn, s_ascii);
RUN_TEST_CASE(stdio_printf_cspn, s_ascii_printf);
RUN_TEST_CASE(stdio_printf_cspn, s_ascii_vprintf);
RUN_TEST_CASE(stdio_printf_cspn, s_huge_string);
RUN_TEST_CASE(stdio_printf_cspn, ls);
RUN_TEST_CASE(stdio_printf_cspn, S);
Expand Down

0 comments on commit ab15967

Please sign in to comment.