posix: Use <support/check.h> facilities in tst-truncate and tst-truncate64

Remove local FAIL macro in favor to FAIL_RET from <support/check.h>,
which provides equivalent reporting, with the name of the file of the
failure site additionally included, for the tst-truncate-common core
shared between the tst-truncate and tst-truncate64 tests.

Reviewed-by: DJ Delorie <dj@redhat.com>
(cherry picked from commit fe47595504)
This commit is contained in:
Maciej W. Rozycki 2024-07-26 13:21:34 +01:00 committed by Siddhesh Poyarekar
parent bcd0e854ea
commit 507983797e

View File

@ -21,6 +21,8 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <unistd.h> #include <unistd.h>
#include <support/check.h>
static void do_prepare (void); static void do_prepare (void);
#define PREPARE(argc, argv) do_prepare () #define PREPARE(argc, argv) do_prepare ()
static int do_test (void); static int do_test (void);
@ -42,9 +44,6 @@ do_prepare (void)
} }
} }
#define FAIL(str) \
do { printf ("error: %s (line %d)\n", str, __LINE__); return 1; } while (0)
static int static int
do_test_with_offset (off_t offset) do_test_with_offset (off_t offset)
{ {
@ -54,35 +53,35 @@ do_test_with_offset (off_t offset)
memset (buf, 0xcf, sizeof (buf)); memset (buf, 0xcf, sizeof (buf));
if (pwrite (temp_fd, buf, sizeof (buf), offset) != sizeof (buf)) if (pwrite (temp_fd, buf, sizeof (buf), offset) != sizeof (buf))
FAIL ("write failed"); FAIL_RET ("write failed");
if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + sizeof (buf))) if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + sizeof (buf)))
FAIL ("initial size wrong"); FAIL_RET ("initial size wrong");
if (ftruncate (temp_fd, offset + 800) < 0) if (ftruncate (temp_fd, offset + 800) < 0)
FAIL ("size reduction with ftruncate failed"); FAIL_RET ("size reduction with ftruncate failed");
if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 800)) if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 800))
FAIL ("size after reduction with ftruncate is incorrect"); FAIL_RET ("size after reduction with ftruncate is incorrect");
/* The following test covers more than POSIX. POSIX does not require /* The following test covers more than POSIX. POSIX does not require
that ftruncate() can increase the file size. But we are testing that ftruncate() can increase the file size. But we are testing
Unix systems. */ Unix systems. */
if (ftruncate (temp_fd, offset + 1200) < 0) if (ftruncate (temp_fd, offset + 1200) < 0)
FAIL ("size increate with ftruncate failed"); FAIL_RET ("size increate with ftruncate failed");
if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 1200)) if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 1200))
FAIL ("size after increase is incorrect"); FAIL_RET ("size after increase is incorrect");
if (truncate (temp_filename, offset + 800) < 0) if (truncate (temp_filename, offset + 800) < 0)
FAIL ("size reduction with truncate failed"); FAIL_RET ("size reduction with truncate failed");
if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 800)) if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 800))
FAIL ("size after reduction with truncate incorrect"); FAIL_RET ("size after reduction with truncate incorrect");
/* The following test covers more than POSIX. POSIX does not require /* The following test covers more than POSIX. POSIX does not require
that truncate() can increase the file size. But we are testing that truncate() can increase the file size. But we are testing
Unix systems. */ Unix systems. */
if (truncate (temp_filename, (offset + 1200)) < 0) if (truncate (temp_filename, (offset + 1200)) < 0)
FAIL ("size increase with truncate failed"); FAIL_RET ("size increase with truncate failed");
if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 1200)) if (fstat (temp_fd, &st) < 0 || st.st_size != (offset + 1200))
FAIL ("size increase with truncate is incorrect"); FAIL_RET ("size increase with truncate is incorrect");
return 0; return 0;
} }