Merge branch 'maint-0.3.2' into release-0.3.2

This commit is contained in:
Nick Mathewson 2018-09-13 11:46:04 -04:00
commit 2b0d370788
2 changed files with 16 additions and 2 deletions

6
changes/bug27658 Normal file
View File

@ -0,0 +1,6 @@
o Minor bugfixes (testing):
- If a unit test running in a subprocess exits abnormally or with a
nonzero status code, treat the test as having failed, even if
the test reported success. Without this fix, memory leaks don't cause
cause the tests to fail, even with LeakSanitizer. Fixes bug 27658;
bugfix on 0.2.2.4-alpha.

View File

@ -207,12 +207,20 @@ testcase_run_forked_(const struct testgroup_t *group,
r = (int)read(outcome_pipe[0], b, 1); r = (int)read(outcome_pipe[0], b, 1);
if (r == 0) { if (r == 0) {
printf("[Lost connection!] "); printf("[Lost connection!] ");
return 0; return FAIL;
} else if (r != 1) { } else if (r != 1) {
perror("read outcome from pipe"); perror("read outcome from pipe");
} }
waitpid(pid, &status, 0); r = waitpid(pid, &status, 0);
close(outcome_pipe[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); return b[0]=='Y' ? OK : (b[0]=='S' ? SKIP : FAIL);
} }
#endif #endif