X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fmware%2Fsprintf_test.c;h=caf952a65729859dae40dfe9c6c1809d01e3d84f;hb=e8b0472be10fba4ca6baa62d8d483db90e28c06e;hp=1bcedfd35175f289618f6494422d83f27d0019b4;hpb=791e167e053bdd9250d34a9a5ccae6ccde4d6679;p=bertos.git diff --git a/bertos/mware/sprintf_test.c b/bertos/mware/sprintf_test.c index 1bcedfd3..caf952a6 100644 --- a/bertos/mware/sprintf_test.c +++ b/bertos/mware/sprintf_test.c @@ -30,38 +30,49 @@ * * --> * + * notest: avr + * notest: arm * \brief sprintf() implementation based on _formatted_write() * - * \version $Id$ - * \author Bernardo Innocenti + * \author Bernie Innocenti */ -#include "sprintf.c" -#include "formatwr.c" -#include "hex.c" +#include "formatwr.h" #include -#include +#include +#include + +#include + #include -#include /* assert() */ #include /* strcmp() */ -int main(UNUSED_ARG(int, argc), UNUSED_ARG(char **,argv)) +int sprintf_testSetup(void) +{ + kdbg_init(); + return 0; +} + +int sprintf_testRun(void) { char buf[256]; static const char test_string[] = "Hello, world!\n"; static const pgm_char test_string_pgm[] = "Hello, world!\n"; snprintf(buf, sizeof buf, "%s", test_string); - assert(strcmp(buf, test_string) == 0); + if (strcmp(buf, test_string) != 0) + return 1; - snprintf(buf, sizeof buf, "%S", test_string_pgm); - assert(strcmp(buf, test_string_pgm) == 0); + snprintf(buf, sizeof buf, "%S", (const wchar_t *)test_string_pgm); + if (strcmp(buf, test_string_pgm) != 0) + return 2; -#define TEST(FMT, VALUE, EXPECT) do { \ + #define TEST(FMT, VALUE, EXPECT) do { \ snprintf(buf, sizeof buf, FMT, VALUE); \ - assert(strcmp(buf, EXPECT) == 0); \ + if (strcmp(buf, EXPECT) != 0) \ + return -1; \ } while (0) TEST("%d", 12345, "12345"); @@ -80,17 +91,24 @@ int main(UNUSED_ARG(int, argc), UNUSED_ARG(char **,argv)) TEST("%-8.2f", -123.456, "-123.46 "); TEST("%8.0f", -123.456, " -123"); -#undef TEST /* * Stress tests. */ - snprintf(buf, sizeof buf, "%s", NULL); - assert(strcmp(buf, "") == 0); + snprintf(buf, sizeof buf, "%s", (char *)(NULL)); + if (strcmp(buf, "") != 0) + return 3; snprintf(buf, sizeof buf, "%k"); - assert(strcmp(buf, "???") == 0); + if (strcmp(buf, "???") != 0) + return 4; sprintf(NULL, test_string); /* must not crash */ return 0; } +int sprintf_testTearDown(void) +{ + return 0; +} + +TEST_MAIN(sprintf);