X-Git-Url: https://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fnoerr%2Ftest%2Frun.c;h=6f1361ce4d851929196c5c404de17bee91e2354a;hp=6d3c6837cd228b857f3b11ab589dd0f2aa00aca7;hb=0f126c41cd2e9ccaff5fb7633c079db0bb0e14c3;hpb=650c775ff00cccd03fc84e7789a03c51d9839004 diff --git a/ccan/noerr/test/run.c b/ccan/noerr/test/run.c index 6d3c6837..6f1361ce 100644 --- a/ccan/noerr/test/run.c +++ b/ccan/noerr/test/run.c @@ -12,8 +12,9 @@ int main(int argc, char *argv[]) /* tempnam(3) is generally a bad idea, but OK here. */ char *name = tempnam(NULL, "noerr"); int fd; + FILE *fp; - plan_tests(12); + plan_tests(15); /* Should fail to unlink. */ ok1(unlink(name) != 0); ok1(errno == ENOENT); @@ -44,5 +45,19 @@ int main(int argc, char *argv[]) ok1(unlink_noerr(name) == 0); ok1(errno == 100); + /* Test failing fclose */ + fp = fopen(name, "wb"); + assert(fp); + close(fileno(fp)); + ok1(fclose_noerr(fp) == EBADF); + + /* Test successful fclose */ + fp = fopen(name, "wb"); + assert(fp); + + errno = 100; + ok1(fclose_noerr(fp) == 0); + ok1(errno == 100); + return exit_status(); }