summaryrefslogtreecommitdiff
path: root/cleopatre/devkit/tests
diff options
context:
space:
mode:
authorCyril Jourdan2011-09-06 15:04:35 +0200
committerNicolas Schodet2011-12-20 15:42:45 +0100
commit86cdf655c4a786ecaab0f4143af688e28b16804e (patch)
treea20391552b065bf53b60309df0bf9e23a85fa8ba /cleopatre/devkit/tests
parent5c48394204579eaa9378336e6794a63fb9ae18e7 (diff)
cleo/app/libspid: ignore non existent PID in file_update_warn, refs #2701
Diffstat (limited to 'cleopatre/devkit/tests')
-rw-r--r--cleopatre/devkit/tests/libspid/utests/src/system_utests.c22
1 files changed, 22 insertions, 0 deletions
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 <unistd.h>
#include <sys/stat.h>
#include <sys/types.h>
+#include <sys/wait.h>
#include <dirent.h>
#include <sys/stat.h>
@@ -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