summaryrefslogtreecommitdiff
path: root/src/ext
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2018-09-13 11:46:04 -0400
committerNick Mathewson <nickm@torproject.org>2018-09-13 11:46:04 -0400
commit8253428253109dabc35861cbaab23a44a22eb24d (patch)
treeceb34eb621b50143e26733cff304a69bb6502a4c /src/ext
parent4fa46fca8e71e085883dab6183df498759bc439f (diff)
parent9697c2da4680267038d407093cbcbc4c68059904 (diff)
downloadtor-8253428253109dabc35861cbaab23a44a22eb24d.tar.gz
tor-8253428253109dabc35861cbaab23a44a22eb24d.zip
Merge branch 'maint-0.3.2' into maint-0.3.3
Diffstat (limited to 'src/ext')
-rw-r--r--src/ext/tinytest.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/ext/tinytest.c b/src/ext/tinytest.c
index 3fb1b39c71..a51cd6011a 100644
--- a/src/ext/tinytest.c
+++ b/src/ext/tinytest.c
@@ -207,12 +207,20 @@ testcase_run_forked_(const struct testgroup_t *group,
r = (int)read(outcome_pipe[0], b, 1);
if (r == 0) {
printf("[Lost connection!] ");
- return 0;
+ return FAIL;
} else if (r != 1) {
perror("read outcome from pipe");
}
- waitpid(pid, &status, 0);
+ r = waitpid(pid, &status, 0);
close(outcome_pipe[0]);
+ if (r == -1) {
+ perror("waitpid");
+ return FAIL;
+ }
+ if (! WIFEXITED(status) || WEXITSTATUS(status) != 0) {
+ printf("[did not exit cleanly.]");
+ return FAIL;
+ }
return b[0]=='Y' ? OK : (b[0]=='S' ? SKIP : FAIL);
}
#endif