size_t long_size;
size_t n = 0;
FILE *f;
+ int rc;
if (!(f = tmpfile()))
tap_bail_out("tmpfile failed: %s\n", strerror(errno));
tap_bail_out("fseek failed: %s\n", strerror(errno));
/* First line: empty */
- tap_result(dx_getline(&line, &n, f) != 0, "dx_getline");
+ rc = dx_getline(&line, &n, f);
+ if (!tap_result(rc == DX_GETLINE_OK, "dx_getline")) {
+ tap_diag("Failed, unexpected result");
+ tap_diag(" Received: %d", rc);
+ tap_diag(" Expected: %d (DX_GETLINE_OK)", DX_GETLINE_OK);
+ }
if (!tap_result(n == 2, "alloc size")) {
tap_diag("Failed, unexpected result");
tap_diag(" Received: %lu", (unsigned long)n);
}
/* Next line: long line (buffer needs expanding) */
- tap_result(dx_getline(&line, &n, f) != 0, "dx_getline");
+ rc = dx_getline(&line, &n, f);
+ if (!tap_result(rc == DX_GETLINE_OK, "dx_getline")) {
+ tap_diag("Failed, unexpected result");
+ tap_diag(" Received: %d", rc);
+ tap_diag(" Expected: %d (DX_GETLINE_OK)", DX_GETLINE_OK);
+ }
if (!tap_result(n > sizeof LONGLINE, "alloc size")) {
tap_diag("Failed, unexpected result");
tap_diag(" Received: %lu", (unsigned long)n);
/* Next line: long line (buffer does not need expanding) */
long_size = n;
- tap_result(dx_getline(&line, &n, f) != 0, "dx_getline");
+ rc = dx_getline(&line, &n, f);
+ if (!tap_result(rc == DX_GETLINE_OK, "dx_getline")) {
+ tap_diag("Failed, unexpected result");
+ tap_diag(" Received: %d", rc);
+ tap_diag(" Expected: %d (DX_GETLINE_OK)", DX_GETLINE_OK);
+ }
if (!tap_result(n == long_size, "alloc size")) {
tap_diag("Failed, unexpected result");
tap_diag(" Received: %lu", (unsigned long)n);
/* Next line: long line (new buffer allocation) */
free(line); line = NULL; n = 0;
- tap_result(dx_getline(&line, &n, f) != 0, "dx_getline");
+ rc = dx_getline(&line, &n, f);
+ if (!tap_result(rc == DX_GETLINE_OK, "dx_getline")) {
+ tap_diag("Failed, unexpected result");
+ tap_diag(" Received: %d", rc);
+ tap_diag(" Expected: %d (DX_GETLINE_OK)", DX_GETLINE_OK);
+ }
if (!tap_result(n == long_size, "alloc size")) {
tap_diag("Failed, unexpected result");
tap_diag(" Received: %lu", (unsigned long)n);
}
/* Next line: short line */
- tap_result(dx_getline(&line, &n, f) != 0, "dx_getline");
+ rc = dx_getline(&line, &n, f);
+ if (!tap_result(rc == DX_GETLINE_OK, "dx_getline")) {
+ tap_diag("Failed, unexpected result");
+ tap_diag(" Received: %d", rc);
+ tap_diag(" Expected: %d (DX_GETLINE_OK)", DX_GETLINE_OK);
+ }
if (!tap_result(n == long_size, "alloc size")) {
tap_diag("Failed, unexpected result");
tap_diag(" Received: %lu", (unsigned long)n);
tap_diag(" Expected: \"hellorld\"");
}
+ /* Next line: end of file */
+ rc = dx_getline(&line, &n, f);
+ if (!tap_result(rc == DX_GETLINE_EOF, "dx_getline (end of file)")) {
+ tap_diag("Failed, unexpected result");
+ tap_diag(" Received: %d", rc);
+ tap_diag(" Expected: %d (DX_GETLINE_EOF)", DX_GETLINE_EOF);
+ }
+ if (!tap_result(n == long_size, "alloc size")) {
+ tap_diag("Failed, unexpected result");
+ tap_diag(" Received: %lu", (unsigned long)n);
+ tap_diag(" Expected: %lu", (unsigned long)long_size);
+ }
+
tap_done();
}