Browse Source

Merge pull request #526 from dota17/addTestCase_printbuf

Increased the test coverage of printbuf.c 82% to 92%.
tags/json-c-0.14-20200419
Eric Haszlakiewicz GitHub 5 years ago
parent
commit
e651e96a5b
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 0 deletions
  1. +6
    -0
      tests/test_printbuf.c
  2. +1
    -0
      tests/test_printbuf.expected

+ 6
- 0
tests/test_printbuf.c View File

@@ -127,6 +127,10 @@ static void test_sprintbuf(int before_resize);
static void test_sprintbuf(int before_resize) static void test_sprintbuf(int before_resize)
{ {
struct printbuf *pb; struct printbuf *pb;
const char *max_char = "if string is greater than stack buffer, then use dynamic string"
" with vasprintf. Note: some implementation of vsnprintf return -1 "
" if output is truncated whereas some return the number of bytes that "
" would have been written - this code handles both cases.";


printf("%s: starting test\n", __func__); printf("%s: starting test\n", __func__);
pb = printbuf_new(); pb = printbuf_new();
@@ -155,6 +159,8 @@ static void test_sprintbuf(int before_resize)
sprintbuf(pb, "%s", "%s"); sprintbuf(pb, "%s", "%s");
printf("%d, [%s]\n", printbuf_length(pb), pb->buf); printf("%d, [%s]\n", printbuf_length(pb), pb->buf);


sprintbuf(pb, max_char);
printf("%d, [%s]\n", printbuf_length(pb), pb->buf);
printbuf_free(pb); printbuf_free(pb);
printf("%s: end test\n", __func__); printf("%s: end test\n", __func__);
} }


+ 1
- 0
tests/test_printbuf.expected View File

@@ -29,5 +29,6 @@ sprintbuf to just after resize(31+1): 32, [XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX], st
16, [plain12147483647] 16, [plain12147483647]
27, [plain12147483647-2147483648] 27, [plain12147483647-2147483648]
29, [plain12147483647-2147483648%s] 29, [plain12147483647-2147483648%s]
284, [plain12147483647-2147483648%sif string is greater than stack buffer, then use dynamic string with vasprintf. Note: some implementation of vsnprintf return -1 if output is truncated whereas some return the number of bytes that would have been written - this code handles both cases.]
test_sprintbuf: end test test_sprintbuf: end test
======================================== ========================================

Loading…
Cancel
Save