Browse Source

pipecmd: test can't-exec case.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Rusty Russell 10 years ago
parent
commit
41df9b3725
1 changed files with 6 additions and 1 deletions
  1. 6 1
      ccan/pipecmd/test/run.c

+ 6 - 1
ccan/pipecmd/test/run.c

@@ -34,7 +34,7 @@ int main(int argc, char *argv[])
 	}
 
 	/* This is how many tests you plan to run */
-	plan_tests(26);
+	plan_tests(28);
 	child = pipecmd(&outfd, &infd, argv[0], "inout", NULL);
 	if (!ok1(child > 0))
 		exit(1);
@@ -79,6 +79,11 @@ int main(int argc, char *argv[])
 	ok1(WIFEXITED(status));
 	ok1(WEXITSTATUS(status) == 1);
 
+	// Can't run non-existent file, but errno set correctly.
+	child = pipecmd(NULL, NULL, "/doesnotexist", "in", NULL);
+	ok1(errno == ENOENT);
+	ok1(child < 0);
+
 	/* This exits depending on whether all tests passed */
 	return exit_status();
 }