Add CHECK_STRING testlib macro
diff --git a/test/c/std/adler32.c b/test/c/std/adler32.c
index 4f4a653..ce64946 100644
--- a/test/c/std/adler32.c
+++ b/test/c/std/adler32.c
@@ -122,10 +122,7 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
- const char* status_msg = read_file(&src, test_cases[i].filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, test_cases[i].filename));
int j;
for (j = 0; j < 2; j++) {
diff --git a/test/c/std/crc32.c b/test/c/std/crc32.c
index c85ce43..a1a7109 100644
--- a/test/c/std/crc32.c
+++ b/test/c/std/crc32.c
@@ -122,10 +122,7 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
- const char* status_msg = read_file(&src, test_cases[i].filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, test_cases[i].filename));
int j;
for (j = 0; j < 2; j++) {
diff --git a/test/c/std/deflate.c b/test/c/std/deflate.c
index f258b6e..07b3194 100644
--- a/test/c/std/deflate.c
+++ b/test/c/std/deflate.c
@@ -232,12 +232,9 @@
CHECK_FOCUS(__func__);
// First, treat this like any other compare-to-golden test.
- const char* status_msg = do_test_io_buffers(
- wuffs_deflate_decode, &deflate_deflate_huffman_primlen_9_gt, UINT64_MAX,
- UINT64_MAX);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(do_test_io_buffers(wuffs_deflate_decode,
+ &deflate_deflate_huffman_primlen_9_gt,
+ UINT64_MAX, UINT64_MAX));
// Second, check that the decoder's huffman table sizes match those predicted
// by the script/print-deflate-huff-table-size.go program.
@@ -249,10 +246,7 @@
});
golden_test* gt = &deflate_deflate_huffman_primlen_9_gt;
- status_msg = read_file(&src, gt->src_filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, gt->src_filename));
wuffs_deflate__decoder dec;
wuffs_base__status status = wuffs_deflate__decoder__initialize(
@@ -340,16 +334,9 @@
.data = global_want_slice,
});
- const char* status_msg;
golden_test* gt = &deflate_256_bytes_gt;
- status_msg = read_file(&src, gt->src_filename);
- if (status_msg) {
- return status_msg;
- }
- status_msg = read_file(&want, gt->want_filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, gt->src_filename));
+ CHECK_STRING(read_file(&want, gt->want_filename));
int i;
for (i = 1; i < 32; i++) {
@@ -391,10 +378,7 @@
char prefix[64];
snprintf(prefix, 64, "i=%d: ", i);
- status_msg = check_io_buffers_equal(prefix, &got, &want);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(check_io_buffers_equal(prefix, &got, &want));
}
return NULL;
}
@@ -440,16 +424,9 @@
.data = global_want_slice,
});
- const char* status_msg;
golden_test* gt = &deflate_pi_gt;
- status_msg = read_file(&src, gt->src_filename);
- if (status_msg) {
- return status_msg;
- }
- status_msg = read_file(&want, gt->want_filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, gt->src_filename));
+ CHECK_STRING(read_file(&want, gt->want_filename));
const int full_history_size = 0x8000;
int i;
@@ -462,12 +439,9 @@
RETURN_FAIL("initialize: \"%s\"", wuffs_base__status__message(&status));
}
- status_msg = do_test_wuffs_deflate_history(
+ CHECK_STRING(do_test_wuffs_deflate_history(
i, gt, &src, &got, &dec, 0, want.meta.wi + i,
- i >= 0 ? NULL : wuffs_base__suspension__short_write);
- if (status_msg) {
- return status_msg;
- }
+ i >= 0 ? NULL : wuffs_base__suspension__short_write));
uint32_t want_history_index = i >= 0 ? 0 : full_history_size;
if (dec.private_impl.f_history_index != want_history_index) {
@@ -496,10 +470,7 @@
});
history_want.meta.wi = full_history_size;
- status_msg = check_io_buffers_equal("", &history_got, &history_want);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(check_io_buffers_equal("", &history_got, &history_want));
}
return NULL;
}
@@ -515,10 +486,7 @@
});
golden_test* gt = &deflate_pi_gt;
- const char* status_msg = read_file(&src, gt->src_filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, gt->src_filename));
uint32_t starting_history_indexes[] = {
0x0000, 0x0001, 0x1234, 0x7FFB, 0x7FFC, 0x7FFD, 0x7FFE, 0x7FFF,
@@ -543,12 +511,9 @@
RETURN_FAIL("initialize: \"%s\"", wuffs_base__status__message(&status));
}
- status_msg = do_test_wuffs_deflate_history(
+ CHECK_STRING(do_test_wuffs_deflate_history(
i, gt, &src, &got, &dec, starting_history_index, fragment_length,
- wuffs_base__suspension__short_write);
- if (status_msg) {
- return status_msg;
- }
+ wuffs_base__suspension__short_write));
bool got_full = dec.private_impl.f_history_index >= 0x8000;
uint32_t got_history_index = dec.private_impl.f_history_index & 0x7FFF;
diff --git a/test/c/std/gif.c b/test/c/std/gif.c
index 14fa3d7..f5ddda3 100644
--- a/test/c/std/gif.c
+++ b/test/c/std/gif.c
@@ -247,11 +247,8 @@
RETURN_FAIL("decode_frame: \"%s\"", wuffs_base__status__message(&status));
}
- const char* status_msg = copy_to_io_buffer_from_pixel_buffer(
- dst, &pb, wuffs_base__frame_config__bounds(&fc));
- if (status_msg) {
- RETURN_FAIL("copy_to_io_buffer_from_pixel_buffer: \"%s\"", status_msg);
- }
+ CHECK_STRING(copy_to_io_buffer_from_pixel_buffer(
+ dst, &pb, wuffs_base__frame_config__bounds(&fc)));
}
return NULL;
}
@@ -267,11 +264,7 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg = read_file(&src, filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, filename));
wuffs_gif__decoder dec;
wuffs_base__status status = wuffs_gif__decoder__initialize(
@@ -384,11 +377,8 @@
}
}
- status_msg = copy_to_io_buffer_from_pixel_buffer(
- &got, &pb, wuffs_base__frame_config__bounds(&fc));
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(copy_to_io_buffer_from_pixel_buffer(
+ &got, &pb, wuffs_base__frame_config__bounds(&fc)));
if (rlimit < UINT64_MAX) {
if (num_iters <= 2) {
@@ -407,33 +397,21 @@
.len = 1024,
}),
});
- status_msg = read_file(&pal_want, palette_filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&pal_want, palette_filename));
if (dst_pixfmt == WUFFS_BASE__PIXEL_FORMAT__INDEXED__BGRA_BINARY) {
wuffs_base__io_buffer pal_got = ((wuffs_base__io_buffer){
.data = wuffs_base__pixel_buffer__palette(&pb),
});
pal_got.meta.wi = pal_got.data.len;
- status_msg = check_io_buffers_equal("palette ", &pal_got, &pal_want);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(check_io_buffers_equal("palette ", &pal_got, &pal_want));
}
wuffs_base__io_buffer ind_want = ((wuffs_base__io_buffer){
.data = global_want_slice,
});
- status_msg = read_file(&ind_want, indexes_filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&ind_want, indexes_filename));
if (dst_pixfmt == WUFFS_BASE__PIXEL_FORMAT__INDEXED__BGRA_BINARY) {
- status_msg = check_io_buffers_equal("indexes ", &got, &ind_want);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(check_io_buffers_equal("indexes ", &got, &ind_want));
} else {
wuffs_base__io_buffer expanded_want = ((wuffs_base__io_buffer){
.data = global_work_slice,
@@ -484,10 +462,7 @@
return "unsupported pixel format";
}
- status_msg = check_io_buffers_equal("pixels ", &got, &expanded_want);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(check_io_buffers_equal("pixels ", &got, &expanded_want));
}
{
@@ -559,15 +534,10 @@
const char* test_wuffs_gif_call_interleaved() {
CHECK_FOCUS(__func__);
-
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg = read_file(&src, "test/data/bricks-dither.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, "test/data/bricks-dither.gif"));
wuffs_gif__decoder dec;
wuffs_base__status status = wuffs_gif__decoder__initialize(
@@ -606,15 +576,10 @@
const char* test_wuffs_gif_call_sequence() {
CHECK_FOCUS(__func__);
-
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg = read_file(&src, "test/data/bricks-dither.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, "test/data/bricks-dither.gif"));
wuffs_gif__decoder dec;
wuffs_base__status status = wuffs_gif__decoder__initialize(
@@ -647,11 +612,7 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg = read_file(&src, filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, filename));
wuffs_gif__decoder dec;
wuffs_base__status status = wuffs_gif__decoder__initialize(
@@ -774,10 +735,7 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
- const char* status_msg = read_file(&src, "test/data/animated-red-blue.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, "test/data/animated-red-blue.gif"));
if (src.meta.wi < 1) {
return "src file is too short";
}
@@ -828,11 +786,7 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
- const char* status_msg =
- read_file(&src, "test/data/artificial/gif-empty-palette.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, "test/data/artificial/gif-empty-palette.gif"));
int q;
for (q = 0; q < 2; q++) {
src.meta.ri = 0;
@@ -904,11 +858,8 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
- const char* status_msg =
- read_file(&src, "test/data/artificial/gif-background-color.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(
+ read_file(&src, "test/data/artificial/gif-background-color.gif"));
int q;
for (q = 0; q < 2; q++) {
src.meta.ri = 0;
@@ -947,11 +898,8 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
- const char* status_msg =
- read_file(&src, "test/data/artificial/gif-frame-out-of-bounds.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(
+ read_file(&src, "test/data/artificial/gif-frame-out-of-bounds.gif"));
int q;
for (q = 0; q < 2; q++) {
src.meta.ri = 0;
@@ -990,12 +938,8 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
- const char* status_msg =
- read_file(&src, "test/data/artificial/gif-frame-out-of-bounds.gif");
- if (status_msg) {
- return status_msg;
- }
-
+ CHECK_STRING(
+ read_file(&src, "test/data/artificial/gif-frame-out-of-bounds.gif"));
int q;
for (q = 0; q < 2; q++) {
src.meta.ri = 0;
@@ -1165,11 +1109,8 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
- const char* status_msg =
- read_file(&src, "test/data/artificial/gif-zero-width-frame.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(
+ read_file(&src, "test/data/artificial/gif-zero-width-frame.gif"));
int q;
for (q = 0; q < 3; q++) {
src.meta.ri = 0;
@@ -1295,15 +1236,10 @@
const char* test_wuffs_gif_decode_input_is_a_png() {
CHECK_FOCUS(__func__);
-
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg = read_file(&src, "test/data/bricks-dither.png");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, "test/data/bricks-dither.png"));
wuffs_gif__decoder dec;
wuffs_base__status status = wuffs_gif__decoder__initialize(
@@ -1324,16 +1260,11 @@
const char* test_wuffs_gif_decode_interlaced_truncated() {
CHECK_FOCUS(__func__);
-
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg =
- read_file(&src, "test/data/hippopotamus.interlaced.truncated.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(
+ read_file(&src, "test/data/hippopotamus.interlaced.truncated.gif"));
wuffs_gif__decoder dec;
wuffs_base__status status = wuffs_gif__decoder__initialize(
@@ -1405,13 +1336,9 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg =
+ CHECK_STRING(
read_file(&src, full ? "test/data/artificial/gif-metadata-full.gif"
- : "test/data/artificial/gif-metadata-empty.gif");
- if (status_msg) {
- return status_msg;
- }
+ : "test/data/artificial/gif-metadata-empty.gif"));
int iccp;
for (iccp = 0; iccp < 2; iccp++) {
@@ -1571,15 +1498,10 @@
const char* test_wuffs_gif_decode_missing_two_src_bytes() {
CHECK_FOCUS(__func__);
-
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg = read_file(&src, "test/data/pjw-thumbnail.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, "test/data/pjw-thumbnail.gif"));
// Trim the final two bytes: the 0x00 end-of-block and the 0x3B trailer.
if (src.meta.wi < 2) {
@@ -1596,11 +1518,8 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
- const char* status_msg =
- read_file(&src, "test/data/artificial/gif-multiple-graphic-controls.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(
+ &src, "test/data/artificial/gif-multiple-graphic-controls.gif"));
wuffs_gif__decoder dec;
wuffs_base__status status = wuffs_gif__decoder__initialize(
@@ -1630,11 +1549,8 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
- const char* status_msg =
- read_file(&src, "test/data/artificial/gif-multiple-loop-counts.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(
+ read_file(&src, "test/data/artificial/gif-multiple-loop-counts.gif"));
wuffs_gif__decoder dec;
wuffs_base__status status = wuffs_gif__decoder__initialize(
@@ -1695,16 +1611,10 @@
const char* test_wuffs_gif_decode_pixel_data_none() {
CHECK_FOCUS(__func__);
-
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg =
- read_file(&src, "test/data/artificial/gif-pixel-data-none.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, "test/data/artificial/gif-pixel-data-none.gif"));
return do_test_wuffs_gif_decode_expecting(
src, 0, wuffs_base__error__not_enough_data, true);
@@ -1712,16 +1622,11 @@
const char* test_wuffs_gif_decode_pixel_data_not_enough() {
CHECK_FOCUS(__func__);
-
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg =
- read_file(&src, "test/data/artificial/gif-pixel-data-not-enough.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(
+ read_file(&src, "test/data/artificial/gif-pixel-data-not-enough.gif"));
return do_test_wuffs_gif_decode_expecting(
src, 0, wuffs_base__error__not_enough_data, false);
@@ -1729,16 +1634,11 @@
const char* test_wuffs_gif_decode_pixel_data_too_much_sans_quirk() {
CHECK_FOCUS(__func__);
-
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg =
- read_file(&src, "test/data/artificial/gif-pixel-data-too-much.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(
+ read_file(&src, "test/data/artificial/gif-pixel-data-too-much.gif"));
return do_test_wuffs_gif_decode_expecting(
src, 0, wuffs_base__error__too_much_data, false);
@@ -1746,16 +1646,11 @@
const char* test_wuffs_gif_decode_pixel_data_too_much_with_quirk() {
CHECK_FOCUS(__func__);
-
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg =
- read_file(&src, "test/data/artificial/gif-pixel-data-too-much.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(
+ read_file(&src, "test/data/artificial/gif-pixel-data-too-much.gif"));
return do_test_wuffs_gif_decode_expecting(
src, WUFFS_GIF__QUIRK_IGNORE_TOO_MUCH_PIXEL_DATA, NULL, false);
@@ -1763,16 +1658,10 @@
const char* test_wuffs_gif_frame_dirty_rect() {
CHECK_FOCUS(__func__);
-
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg =
- read_file(&src, "test/data/hippopotamus.interlaced.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, "test/data/hippopotamus.interlaced.gif"));
wuffs_gif__decoder dec;
wuffs_base__status status = wuffs_gif__decoder__initialize(
@@ -1835,11 +1724,7 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg = read_file(&src, "test/data/animated-red-blue.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, "test/data/animated-red-blue.gif"));
wuffs_gif__decoder dec;
wuffs_base__status status = wuffs_gif__decoder__initialize(
@@ -1919,10 +1804,7 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
- const char* status_msg = read_file(&src, "test/data/animated-red-blue.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, "test/data/animated-red-blue.gif"));
wuffs_gif__decoder dec;
wuffs_base__status status = wuffs_gif__decoder__initialize(
@@ -2086,16 +1968,11 @@
const char* test_wuffs_gif_small_frame_interlaced() {
CHECK_FOCUS(__func__);
-
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg =
- read_file(&src, "test/data/artificial/gif-small-frame-interlaced.gif");
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(
+ read_file(&src, "test/data/artificial/gif-small-frame-interlaced.gif"));
wuffs_gif__decoder dec;
wuffs_base__status status = wuffs_gif__decoder__initialize(
@@ -2163,35 +2040,23 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
- const char* status_msg = read_file(&src, filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, filename));
src.meta.ri = 0;
wuffs_base__io_buffer got = ((wuffs_base__io_buffer){
.data = global_got_slice,
});
- status_msg = wuffs_gif_decode(
- &got, 0, WUFFS_BASE__PIXEL_FORMAT__INDEXED__BGRA_BINARY, &src);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(wuffs_gif_decode(
+ &got, 0, WUFFS_BASE__PIXEL_FORMAT__INDEXED__BGRA_BINARY, &src));
src.meta.ri = 0;
wuffs_base__io_buffer want = ((wuffs_base__io_buffer){
.data = global_want_slice,
});
- status_msg = mimic_gif_decode(
- &want, 0, WUFFS_BASE__PIXEL_FORMAT__INDEXED__BGRA_BINARY, &src);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(mimic_gif_decode(
+ &want, 0, WUFFS_BASE__PIXEL_FORMAT__INDEXED__BGRA_BINARY, &src));
- status_msg = check_io_buffers_equal("", &got, &want);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(check_io_buffers_equal("", &got, &want));
// TODO: check the palette RGB values, not just the palette indexes
// (pixels).
@@ -2283,11 +2148,7 @@
wuffs_base__io_buffer src = ((wuffs_base__io_buffer){
.data = global_src_slice,
});
-
- const char* status_msg = read_file(&src, filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, filename));
bench_start();
uint64_t n_bytes = 0;
@@ -2296,10 +2157,7 @@
for (i = 0; i < iters; i++) {
got.meta.wi = 0;
src.meta.ri = 0;
- status_msg = decode_func(&got, wuffs_initialize_flags, pixfmt, &src);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(decode_func(&got, wuffs_initialize_flags, pixfmt, &src));
n_bytes += got.meta.wi;
}
bench_finish(iters, n_bytes);
diff --git a/test/c/std/gzip.c b/test/c/std/gzip.c
index f4bb6ba..f859904 100644
--- a/test/c/std/gzip.c
+++ b/test/c/std/gzip.c
@@ -124,10 +124,7 @@
.data = global_src_slice,
});
- const char* status_msg = read_file(&src, gzip_midsummer_gt.src_filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, gzip_midsummer_gt.src_filename));
// Flip a bit in the gzip checksum, which is in the last 8 bytes of the file.
if (src.meta.wi < 8) {
diff --git a/test/c/std/lzw.c b/test/c/std/lzw.c
index 6172400..2f443e7 100644
--- a/test/c/std/lzw.c
+++ b/test/c/std/lzw.c
@@ -82,10 +82,7 @@
.data = global_src_slice,
});
- const char* status_msg = read_file(&src, src_filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, src_filename));
if (src.meta.wi != src_size) {
RETURN_FAIL("src size: got %d, want %d", (int)(src.meta.wi),
(int)(src_size));
@@ -98,10 +95,7 @@
}
src.meta.ri++;
- status_msg = read_file(&want, want_filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&want, want_filename));
if (want.meta.wi != want_size) {
RETURN_FAIL("want size: got %d, want %d", (int)(want.meta.wi),
(int)(want_size));
@@ -388,10 +382,7 @@
.data = global_src_slice,
});
- const char* status_msg = read_file(&src, filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, filename));
if (src.meta.wi <= 0) {
RETURN_FAIL("src size: got %d, want > 0", (int)(src.meta.wi));
}
diff --git a/test/c/std/zlib.c b/test/c/std/zlib.c
index ed4f3fd..72a2004 100644
--- a/test/c/std/zlib.c
+++ b/test/c/std/zlib.c
@@ -135,10 +135,7 @@
.data = global_src_slice,
});
- const char* status_msg = read_file(&src, zlib_midsummer_gt.src_filename);
- if (status_msg) {
- return status_msg;
- }
+ CHECK_STRING(read_file(&src, zlib_midsummer_gt.src_filename));
// Flip a bit in the zlib checksum, which is in the last 4 bytes of the file.
if (src.meta.wi < 4) {
RETURN_FAIL("source file was too short");
diff --git a/test/c/testlib/testlib.c b/test/c/testlib/testlib.c
index ecc7da1..6aca89e 100644
--- a/test/c/testlib/testlib.c
+++ b/test/c/testlib/testlib.c
@@ -64,6 +64,14 @@
#define INCR_FAIL(msg, ...) \
msg += snprintf(msg, sizeof(fail_msg) - (msg - fail_msg), ##__VA_ARGS__)
+#define CHECK_STRING(string) \
+ { \
+ const char* z = string; \
+ if (z) { \
+ return z; \
+ } \
+ }
+
int tests_run = 0;
uint64_t iterscale = 100;