Loading changes/bug27658 0 → 100644 +6 −0 Original line number Diff line number Diff line 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. src/ext/tinytest.c +10 −2 Original line number Diff line number Diff line Loading @@ -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 Loading Loading
changes/bug27658 0 → 100644 +6 −0 Original line number Diff line number Diff line 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.
src/ext/tinytest.c +10 −2 Original line number Diff line number Diff line Loading @@ -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 Loading