From: Stephan Bosch Date: Thu, 18 Oct 2018 13:25:53 +0000 (+0200) Subject: lib-master: test-event-stats: Properly ensure cleanup of all files generated by tests. X-Git-Tag: 2.3.9~1164 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eefe0e0a3d121691a7a133ceabfe3729deed6f1c;p=thirdparty%2Fdovecot%2Fcore.git lib-master: test-event-stats: Properly ensure cleanup of all files generated by tests. --- diff --git a/src/lib-master/test-event-stats.c b/src/lib-master/test-event-stats.c index 05e21e233c..41d6f01e76 100644 --- a/src/lib-master/test-event-stats.c +++ b/src/lib-master/test-event-stats.c @@ -541,18 +541,25 @@ static int run_tests(void) signal_process(exit_stats); signal_process(test_done); (void)waitpid(stats_pid, NULL, 0); - /* Just in case if something was put to file after tests */ - i_unlink_if_exists(stats_data_file); io_loop_destroy(&ioloop); return ret; } -static int launch_test_stats(void) +static void cleanup_test_stats(void) { - /* Make sure files are not existing */ + i_unlink_if_exists(SOCK_FULL); + i_unlink_if_exists(stats_data_file); i_unlink_if_exists(test_done); i_unlink_if_exists(exit_stats); i_unlink_if_exists(stats_ready); +} + +static int launch_test_stats(void) +{ + int ret; + + /* Make sure files are not existing */ + cleanup_test_stats(); if ((stats_pid = fork()) == (pid_t)-1) i_fatal("fork() failed: %m"); @@ -561,7 +568,12 @@ static int launch_test_stats(void) return 0; } wait_for_signal(stats_ready); - return run_tests(); + ret = run_tests(); + + /* Make sure we don't leave anything behind */ + cleanup_test_stats(); + + return ret; } int main(void)