From 6ec2a31042000cd5533913adf51debc1c2cd1783 Mon Sep 17 00:00:00 2001 From: Joachim Nilsson Date: Sun, 18 Jun 2017 18:14:39 +0200 Subject: [PATCH] Update tempfile() unit test to detect failed write + read Signed-off-by: Joachim Nilsson --- tests/tempfile.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tests/tempfile.c b/tests/tempfile.c index 371121a..f52b916 100644 --- a/tests/tempfile.c +++ b/tests/tempfile.c @@ -8,18 +8,29 @@ #warning O_TMPFILE is missing, either too old GLIBC, Linux, or non-Linux system #endif +#define READBACK "Reality is frequently inaccurate.\n" + + int main(void) { + int ret; FILE *fp; + char buf[80] = ""; printf("Before tempfile():\n"); - system("ls -lrt " _PATH_TMP " | tail -3"); + ret = system("ls -lrt " _PATH_TMP " | tail -3"); fp = tempfile(); fail_unless(fp != NULL); + ret = fputs(READBACK, fp); + rewind(fp); + if (fgets(buf, sizeof(buf), fp)) + fprintf(stderr, "\nRead-back from tempfile: %s", buf); + fail_unless(!strcmp(buf, READBACK)); + printf("\nAfter tempfile(), should be same list:\n"); - system("ls -lrt " _PATH_TMP " | tail -3"); + ret = system("ls -lrt " _PATH_TMP " | tail -3"); return fclose(fp); }