diff options
author | Michael Stapelberg <stapelberg@debian.org> | 2014-02-18 20:52:28 +0100 |
---|---|---|
committer | Michael Stapelberg <michael@stapelberg.de> | 2014-02-18 20:52:28 +0100 |
commit | cbfce36a16095b9f8155ecfb620e1d6194dcc7e7 (patch) | |
tree | e00c46e01f814c86712ce44932d642bce8c6e4b7 /t/001-deb-systemd-helper.t | |
parent | 84217bc0b8beb60e082d6f836c4f6dc2e8d1fa28 (diff) | |
download | init-system-helpers-cbfce36a16095b9f8155ecfb620e1d6194dcc7e7.tar.gz |
d-s-h: don’t error out when masking a service is not possible becausedebian/1.17
/etc/systemd/system/<service> already exists (but is not a symlink).
Closes: #739090
Diffstat (limited to 't/001-deb-systemd-helper.t')
-rw-r--r-- | t/001-deb-systemd-helper.t | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/t/001-deb-systemd-helper.t b/t/001-deb-systemd-helper.t index 4d814ea..652e3d1 100644 --- a/t/001-deb-systemd-helper.t +++ b/t/001-deb-systemd-helper.t @@ -208,4 +208,40 @@ $retval = system("DPKG_MAINTSCRIPT_PACKAGE=test $dsh unmask $random_unit"); ok(-l $mask_path, 'mask link exists'); is(readlink($mask_path), '/dev/null', 'service still masked'); +# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ +# ┃ Verify “mask”/unmask don’t do anything when the user copied the .service. ┃ +# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ + +unlink($mask_path); + +open($fh, '>', $mask_path); +print $fh <<'EOT'; +[Unit] +Description=test unit + +[Service] +ExecStart=/bin/sleep 1 + +[Install] +WantedBy=multi-user.target +EOT +close($fh); + +ok(-e $mask_path, 'local service file exists'); +ok(! -l $mask_path, 'local service file is not a symlink'); + +$retval = system("DPKG_MAINTSCRIPT_PACKAGE=test $dsh mask $random_unit"); +isnt($retval, -1, 'deb-systemd-helper could be executed'); +ok(!($retval & 127), 'deb-systemd-helper did not exit due to a signal'); +is($retval >> 8, 0, 'deb-systemd-helper exited with exit code 0'); +ok(-e $mask_path, 'local service file still exists'); +ok(! -l $mask_path, 'local service file is still not a symlink'); + +$retval = system("DPKG_MAINTSCRIPT_PACKAGE=test $dsh unmask $random_unit"); +isnt($retval, -1, 'deb-systemd-helper could be executed'); +ok(!($retval & 127), 'deb-systemd-helper did not exit due to a signal'); +is($retval >> 8, 0, 'deb-systemd-helper exited with exit code 0'); +ok(-e $mask_path, 'local service file still exists'); +ok(! -l $mask_path, 'local service file is still not a symlink'); + done_testing; |