X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Fdaemonize%2Ftest%2Frun.c;h=73f021118a8c77505136fe25e0b6a3eb9b2eeed8;hb=c656dceb3f04c2e3da7af40824c97eff5119a0b9;hp=c86f214bcae6e3fcfb2901e436971471e21e2479;hpb=6835b78d7de1644607ad28b39286dc3090b51fe3;p=ccan diff --git a/ccan/daemonize/test/run.c b/ccan/daemonize/test/run.c index c86f214b..73f02111 100644 --- a/ccan/daemonize/test/run.c +++ b/ccan/daemonize/test/run.c @@ -20,7 +20,7 @@ int main(int argc, char *argv[]) struct child_data daemonized; pid_t pid; - plan_tests(6); + plan_tests(5); if (pipe(fds) != 0) err(1, "Failed pipe"); @@ -43,8 +43,12 @@ int main(int argc, char *argv[]) = read(STDIN_FILENO, buffer, 1) == -1 ? errno : 0; daemonized.write_to_stdout = write(STDOUT_FILENO, buffer, 1) == -1 ? errno : 0; - daemonized.write_to_stderr - = write(STDERR_FILENO, buffer, 1) == -1 ? errno : 0; + if (write(STDERR_FILENO, buffer, 1) != 1) { + daemonized.write_to_stderr = errno; + if (daemonized.write_to_stderr == 0) + daemonized.write_to_stderr = -1; + } else + daemonized.write_to_stderr = 0; /* Make sure parent exits. */ while (getppid() == pid) @@ -60,11 +64,13 @@ int main(int argc, char *argv[]) err(1, "Failed read"); ok1(daemonized.pid != pid); +#if 0 /* Believe it or not, this fails under Ubuntu 13.10 (Upstart) */ ok1(daemonized.ppid == 1); +#endif ok1(daemonized.in_root_dir); ok1(daemonized.read_from_stdin == EBADF); ok1(daemonized.write_to_stdout == EBADF); - ok1(daemonized.write_to_stderr == EBADF); + ok1(daemonized.write_to_stderr == 0); return exit_status(); }