------------------------------------------------------------
revno: 1556
committer: Dmitrijs Ledkovs <[email protected]>
branch nick: upstart
timestamp: Wed 2013-11-06 02:59:19 +0000
message:
Actually run test_umask against a fresh session init, in it's own
XDG_RUNTIME_DIR.
Since session init needs to create sub-folders, use 0077 umask under test.
modified:
util/tests/test_initctl.c
--
lp:upstart
https://code.launchpad.net/~upstart-devel/upstart/trunk
Your team Upstart Reviewers is subscribed to branch lp:upstart.
To unsubscribe from this branch go to
https://code.launchpad.net/~upstart-devel/upstart/trunk/+edit-subscription
=== modified file 'util/tests/test_initctl.c'
--- util/tests/test_initctl.c 2013-11-05 16:15:19 +0000
+++ util/tests/test_initctl.c 2013-11-06 02:59:19 +0000
@@ -11972,6 +11972,8 @@
test_umask (void)
{
char confdir[PATH_MAX];
+ char dirname[PATH_MAX];
+ nih_local char *orig_xdg_runtime_dir = NULL;
char logdir[PATH_MAX];
pid_t upstart_pid = 0;
nih_local char *logfile = NULL;
@@ -11980,14 +11982,27 @@
size_t length;
int ret;
mode_t original_umask;
- mode_t test_umask = 0111;
+ mode_t test_umask = 0077;
mode_t default_umask = 022;
- TEST_FILENAME (confdir);
- TEST_EQ (mkdir (confdir, 0755), 0);
-
- TEST_FILENAME (logdir);
- TEST_EQ (mkdir (logdir, 0755), 0);
+
+ /* Take care to avoid disrupting users environment by saving and
+ * restoring this variable (assuming the tests all pass...).
+ */
+ orig_xdg_runtime_dir = getenv ("XDG_RUNTIME_DIR");
+ if (orig_xdg_runtime_dir)
+ orig_xdg_runtime_dir = NIH_MUST (nih_strdup (NULL, orig_xdg_runtime_dir));
+
+ TEST_FILENAME (dirname);
+ TEST_EQ (mkdir (dirname, 0755), 0);
+ TEST_EQ (setenv ("XDG_RUNTIME_DIR", dirname, 1), 0);
+
+ TEST_FILENAME (confdir);
+ TEST_EQ (mkdir (confdir, 0755), 0);
+ TEST_EQ (setenv ("UPSTART_CONFDIR", confdir, 1), 0);
+
+ TEST_FILENAME (logdir);
+ TEST_EQ (mkdir (logdir, 0755), 0);
original_umask = umask (test_umask);
@@ -12056,8 +12071,15 @@
/* Restore */
(void)umask (original_umask);
- assert0 (rmdir (confdir));
- assert0 (rmdir (logdir));
+ if (orig_xdg_runtime_dir) {
+ /* restore */
+ setenv ("XDG_RUNTIME_DIR", orig_xdg_runtime_dir, 1);
+ } else {
+ assert0 (unsetenv ("XDG_RUNTIME_DIR"));
+ }
+
+ assert0 (rmdir (confdir));
+ assert0 (rmdir (logdir));
}
void
@@ -12073,8 +12095,8 @@
TEST_GROUP ("show_config");
- TEST_FILENAME (dirname);
- TEST_EQ (mkdir (dirname, 0755), 0);
+ TEST_FILENAME (dirname);
+ TEST_EQ (mkdir (dirname, 0755), 0);
/* Use the "secret" interface */
TEST_EQ (setenv ("UPSTART_CONFDIR", dirname, 1), 0);
--
upstart-devel mailing list
[email protected]
Modify settings or unsubscribe at:
https://lists.ubuntu.com/mailman/listinfo/upstart-devel