X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=tests%2Funit%2Ftest_fd_tracker.c;h=7c818b94bd2fb6cee2749016f89fc902f4278cce;hb=674c3e2c8477aafe7b2145861ad83dd041d59018;hp=99b0dae2c3268c60d454e0b8a5f394f9d9b679a2;hpb=f7c3ffd79ddcece895eb0de616001d549aced5fc;p=lttng-tools.git diff --git a/tests/unit/test_fd_tracker.c b/tests/unit/test_fd_tracker.c index 99b0dae2c..7c818b94b 100644 --- a/tests/unit/test_fd_tracker.c +++ b/tests/unit/test_fd_tracker.c @@ -1,18 +1,8 @@ /* - * Copyright (c) - 2018 Jérémie Galarneau + * Copyright (C) 2018 Jérémie Galarneau * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by as - * published by the Free Software Foundation; only version 2 of the License. + * SPDX-License-Identifier: GPL-2.0-only * - * This program is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for - * more details. - * - * You should have received a copy of the GNU General Public License along with - * this program; if not, write to the Free Software Foundation, Inc., 51 - * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include @@ -64,6 +54,7 @@ const char file_contents[] = "Bacon ipsum dolor amet jerky drumstick sirloin " "Landjaeger tri-tip salami leberkas ball tip, ham hock chuck sausage " "flank jerky cupim. Pig bacon chuck pancetta andouille."; +static void get_temporary_directories(char **_test_directory, char **_unlink_directory) { int ret; @@ -86,6 +77,7 @@ void get_temporary_directories(char **_test_directory, char **_unlink_directory) } } +static int fd_count(void) { DIR *dir; @@ -197,7 +189,7 @@ void test_unsuspendable_basic(void) ok(tracker, "Created an fd tracker with a limit of %d simulateously opened file descriptors", TRACKER_FD_LIMIT); if (!tracker) { - return; + goto end; } track_std_fds(tracker); @@ -206,6 +198,7 @@ void test_unsuspendable_basic(void) fd_tracker_destroy(tracker); ret = rmdir(test_directory); ok(ret == 0, "Test directory is empty"); +end: free(test_directory); free(unlinked_files_directory); } @@ -336,7 +329,7 @@ int close_pipes(void *data, int *fds) /* * Validate that the tracker enforces the open file descriptor limit - * when unsuspendable file descritptors are being opened. + * when unsuspendable file descriptors are being opened. */ static void test_unsuspendable_limit(void) @@ -356,7 +349,7 @@ void test_unsuspendable_limit(void) ret = fd_tracker_open_unsuspendable_fd(tracker, fds, NULL, TRACKER_FD_LIMIT, open_pipes, NULL); - ok(ret == 0, "File descriptor tracker allowed the user to meet its limit with unsuspendable file descritptors (%d)", + ok(ret == 0, "File descriptor tracker allowed the user to meet its limit with unsuspendable file descriptors (%d)", TRACKER_FD_LIMIT); ret = fd_tracker_open_unsuspendable_fd(tracker, &out_fd, @@ -389,7 +382,7 @@ void test_unsuspendable_close_untracked(void) tracker = fd_tracker_create(unlinked_files_directory, TRACKER_FD_LIMIT); if (!tracker) { - return; + goto end;; } ret = pipe(unknown_fds); @@ -412,6 +405,7 @@ void test_unsuspendable_close_untracked(void) fd_tracker_destroy(tracker); ret = rmdir(test_directory); ok(ret == 0, "Test directory is empty"); +end: free(test_directory); free(unlinked_files_directory); } @@ -516,7 +510,7 @@ void test_suspendable_limit(void) tracker = fd_tracker_create(unlinked_files_directory, TRACKER_FD_LIMIT); if (!tracker) { - return; + goto end; } dir_handle = lttng_directory_handle_create(test_directory); @@ -537,6 +531,7 @@ void test_suspendable_limit(void) ok(ret == 0, "Test directory is empty"); fd_tracker_destroy(tracker); lttng_directory_handle_put(dir_handle); +end: free(test_directory); free(unlinked_files_directory); } @@ -560,7 +555,7 @@ void test_mixed_limit(void) tracker = fd_tracker_create(unlinked_files_directory, TRACKER_FD_LIMIT); if (!tracker) { - return; + goto end; } dir_handle = lttng_directory_handle_create(test_directory); @@ -596,6 +591,7 @@ void test_mixed_limit(void) ok(ret == 0, "Test directory is empty"); fd_tracker_destroy(tracker); lttng_directory_handle_put(dir_handle); +end: free(test_directory); free(unlinked_files_directory); } @@ -632,7 +628,7 @@ void test_suspendable_restore(void) tracker = fd_tracker_create(unlinked_files_directory, TRACKER_FD_LIMIT); if (!tracker) { - return; + goto end; } dir_handle = lttng_directory_handle_create(test_directory); @@ -739,6 +735,7 @@ skip_write: ok(ret == 0, "Test directory is empty"); fd_tracker_destroy(tracker); lttng_directory_handle_put(dir_handle); +end: free(test_directory); free(unlinked_files_directory); } @@ -768,7 +765,7 @@ void test_unlink(void) tracker = fd_tracker_create(unlinked_files_directory, 1); if (!tracker) { - return; + goto end; } dir_handle = lttng_directory_handle_create(test_directory); @@ -780,7 +777,7 @@ void test_unlink(void) ok(!ret, "Successfully opened %i handles to %s/%s", handles_to_open, test_directory, file_name); if (ret) { - return; + goto end; } /* @@ -869,6 +866,7 @@ void test_unlink(void) ret = rmdir(test_directory); ok(ret == 0, "Test directory is empty"); +end: fd_tracker_destroy(tracker); free(test_directory); free(unlinked_files_directory); @@ -895,15 +893,15 @@ int main(int argc, char **argv) test_unsuspendable_duplicate(); diag("Unsuspendable - closing an untracked file descriptor"); test_unsuspendable_close_untracked(); - diag("Unsuspendable - check that file descritptor limit is enforced"); + diag("Unsuspendable - check that file descriptor limit is enforced"); test_unsuspendable_limit(); - diag("Suspendable - check that file descritptor limit is enforced"); + diag("Suspendable - check that file descriptor limit is enforced"); test_suspendable_limit(); diag("Suspendable - restoration test"); test_suspendable_restore(); - diag("Mixed - check that file descritptor limit is enforced"); + diag("Mixed - check that file descriptor limit is enforced"); test_mixed_limit(); diag("Suspendable - Unlinking test");