summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/test/test-execute.c5
-rw-r--r--test/meson.build1
-rw-r--r--test/test-execute/exec-unset-environment.service8
3 files changed, 14 insertions, 0 deletions
diff --git a/src/test/test-execute.c b/src/test/test-execute.c
index ac2cdd50ed..9d1dcfc58e 100644
--- a/src/test/test-execute.c
+++ b/src/test/test-execute.c
@@ -453,6 +453,10 @@ static void test_exec_read_only_path_suceed(Manager *m) {
test(m, "exec-read-only-path-succeed.service", 0, CLD_EXITED);
}
+static void test_exec_unset_environment(Manager *m) {
+ test(m, "exec-unset-environment.service", 0, CLD_EXITED);
+}
+
static int run_tests(UnitFileScope scope, const test_function_t *tests) {
const test_function_t *test = NULL;
Manager *m = NULL;
@@ -508,6 +512,7 @@ int main(int argc, char *argv[]) {
test_exec_ioschedulingclass,
test_exec_spec_interpolation,
test_exec_read_only_path_suceed,
+ test_exec_unset_environment,
NULL,
};
static const test_function_t system_tests[] = {
diff --git a/test/meson.build b/test/meson.build
index c16ca92702..bddeeb62b4 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -94,6 +94,7 @@ test_data_files = '''
test-execute/exec-systemcallfilter-not-failing.service
test-execute/exec-systemcallfilter-system-user.service
test-execute/exec-systemcallfilter-system-user-nfsnobody.service
+ test-execute/exec-unset-environment.service
test-execute/exec-user.service
test-execute/exec-user-nfsnobody.service
test-execute/exec-workingdirectory.service
diff --git a/test/test-execute/exec-unset-environment.service b/test/test-execute/exec-unset-environment.service
new file mode 100644
index 0000000000..5b0123b81e
--- /dev/null
+++ b/test/test-execute/exec-unset-environment.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Test for UnsetEnvironment
+
+[Service]
+ExecStart=/bin/sh -x -c 'test "$$FOO" = "bar" && test "$${QUUX-X}" = "X" && test "$$VAR3" = "value3" && test "$${VAR4-X}" = "X" && test "$$VAR5" = "value5" && test "$${X%b-X}" = "X"'
+Type=oneshot
+Environment=FOO=bar QUUX=waldo VAR3=value3 VAR4=value4 VAR5=value5 X%b=%U
+UnsetEnvironment=QUUX=waldo VAR3=somethingelse VAR4 X%b=%U