From 86cdf655c4a786ecaab0f4143af688e28b16804e Mon Sep 17 00:00:00 2001 From: Cyril Jourdan Date: Tue, 6 Sep 2011 15:04:35 +0200 Subject: cleo/app/libspid: ignore non existent PID in file_update_warn, refs #2701 --- .../tests/libspid/utests/src/system_utests.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'cleopatre/devkit/tests') diff --git a/cleopatre/devkit/tests/libspid/utests/src/system_utests.c b/cleopatre/devkit/tests/libspid/utests/src/system_utests.c index 8d6fddc40f..ffba274382 100644 --- a/cleopatre/devkit/tests/libspid/utests/src/system_utests.c +++ b/cleopatre/devkit/tests/libspid/utests/src/system_utests.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include @@ -689,8 +690,29 @@ START_TEST (test_libspid_system_file_update_warn) fail_if (LIBSPID_SUCCESS != libspid_system_file_update_is_registered (getpid(), filename, &is_registered)); fail_if (LIBSPID_TRUE != is_registered); + fail_if (LIBSPID_SUCCESS != libspid_system_file_update_warn (getpid(), filename)); + fail_if (handler_called); fail_if (LIBSPID_SUCCESS != libspid_system_file_update_warn (tx_pid, filename)); fail_if (!handler_called); + fail_if (LIBSPID_SUCCESS != libspid_system_file_update_unregister (getpid(), filename)); + handler_called = 0; + + /* Test with a registered process that no longer exists. */ + pid_t child_pid = fork (); + fail_if (child_pid == -1); + if (child_pid) + { + fail_if (waitpid (child_pid, NULL, 0) != child_pid); + fail_if (LIBSPID_SUCCESS != libspid_system_file_update_register (child_pid, filename, + callback)); + fail_if (LIBSPID_SUCCESS != libspid_system_file_update_warn (tx_pid, filename)); + fail_if (handler_called); + fail_if (LIBSPID_SUCCESS != libspid_system_file_update_unregister (child_pid, filename)); + } + else + { + exit (0); + } } END_TEST -- cgit v1.2.3