mirror of
https://github.com/systemd/systemd.git
synced 2025-01-21 22:04:01 +03:00
tests: use relative paths in ExecStart= and friends
We want to retain *some* of the full paths in order to test more code paths. But the default should be to use the command name only. This makes the tests less visually cluttered.
This commit is contained in:
parent
d7d6195953
commit
63403f07b0
@ -3,7 +3,7 @@
|
||||
Description=Test for AmbientCapabilities (dynamic user)
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(grep "CapAmb:" /proc/self/status); test "$$c" = "CapAmb: 0000000000002081"'
|
||||
ExecStart=sh -x -c 'c=$$(grep "CapAmb:" /proc/self/status); test "$$c" = "CapAmb: 0000000000002081"'
|
||||
Type=oneshot
|
||||
AmbientCapabilities=CAP_CHOWN CAP_SETUID CAP_NET_RAW
|
||||
DynamicUser=yes
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for AmbientCapabilities
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(grep "CapAmb:" /proc/self/status); test "$$c" = "CapAmb: 0000000000002001"'
|
||||
ExecStart=sh -x -c 'c=$$(grep "CapAmb:" /proc/self/status); test "$$c" = "CapAmb: 0000000000002001"'
|
||||
Type=oneshot
|
||||
User=nfsnobody
|
||||
AmbientCapabilities=CAP_CHOWN
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for AmbientCapabilities
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(grep "CapAmb:" /proc/self/status); test "$$c" = "CapAmb: 0000000000002001"'
|
||||
ExecStart=sh -x -c 'c=$$(grep "CapAmb:" /proc/self/status); test "$$c" = "CapAmb: 0000000000002001"'
|
||||
Type=oneshot
|
||||
User=nobody
|
||||
AmbientCapabilities=CAP_CHOWN
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for AmbientCapabilities (daemon)
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(grep "CapAmb:" /proc/self/status); test "$$c" = "CapAmb: 0000000000002001"'
|
||||
ExecStart=sh -x -c 'c=$$(grep "CapAmb:" /proc/self/status); test "$$c" = "CapAmb: 0000000000002001"'
|
||||
Type=oneshot
|
||||
User=daemon
|
||||
AmbientCapabilities=CAP_CHOWN
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for AmbientCapabilities
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(grep "CapAmb:" /proc/self/status); test "$$c" = "CapAmb: 0000000000002001"'
|
||||
ExecStart=sh -x -c 'c=$$(grep "CapAmb:" /proc/self/status); test "$$c" = "CapAmb: 0000000000002001"'
|
||||
Type=oneshot
|
||||
User=nfsnobody
|
||||
AmbientCapabilities=CAP_CHOWN CAP_NET_RAW
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for AmbientCapabilities
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(grep "CapAmb:" /proc/self/status); test "$$c" = "CapAmb: 0000000000002001"'
|
||||
ExecStart=sh -x -c 'c=$$(grep "CapAmb:" /proc/self/status); test "$$c" = "CapAmb: 0000000000002001"'
|
||||
Type=oneshot
|
||||
User=nobody
|
||||
AmbientCapabilities=CAP_CHOWN CAP_NET_RAW
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for AmbientCapabilities (daemon)
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(grep "CapAmb:" /proc/self/status); test "$$c" = "CapAmb: 0000000000002001"'
|
||||
ExecStart=sh -x -c 'c=$$(grep "CapAmb:" /proc/self/status); test "$$c" = "CapAmb: 0000000000002001"'
|
||||
Type=oneshot
|
||||
User=daemon
|
||||
AmbientCapabilities=CAP_CHOWN CAP_NET_RAW
|
||||
|
@ -11,7 +11,7 @@ ExecStart=test -f /tmp/thisisasimpletest
|
||||
# Also, through /tmp/test-exec-bindreadonlypaths
|
||||
ExecStart=test -f /tmp/test-exec-bindreadonlypaths/thisisasimpletest
|
||||
# The file cannot modify through /tmp/test-exec-bindreadonlypaths
|
||||
ExecStart=/bin/sh -x -c '! touch /tmp/test-exec-bindreadonlypaths/thisisasimpletest'
|
||||
ExecStart=sh -x -c '! touch /tmp/test-exec-bindreadonlypaths/thisisasimpletest'
|
||||
# Cleanup
|
||||
ExecStart=rm /tmp/thisisasimpletest
|
||||
BindPaths=/tmp:/tmp/test-exec-bindpaths
|
||||
|
@ -4,6 +4,6 @@ Description=Test for CapabilityBoundingSet
|
||||
|
||||
[Service]
|
||||
# sed: remove dropped (cap_xxx-[epi]) and IAB capabilities from the output
|
||||
ExecStart=/bin/sh -x -c '! capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep "^Bounding set .*cap_chown"'
|
||||
ExecStart=sh -x -c '! capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep "^Bounding set .*cap_chown"'
|
||||
Type=oneshot
|
||||
CapabilityBoundingSet=~CAP_CHOWN
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for CapabilityBoundingSet
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(capsh --print | grep "Bounding set "); test "$$c" = "Bounding set =cap_chown,cap_fowner,cap_kill"'
|
||||
ExecStart=sh -x -c 'c=$$(capsh --print | grep "Bounding set "); test "$$c" = "Bounding set =cap_chown,cap_fowner,cap_kill"'
|
||||
Type=oneshot
|
||||
CapabilityBoundingSet=CAP_FOWNER
|
||||
CapabilityBoundingSet=CAP_KILL CAP_CHOWN
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for CapabilityBoundingSet
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(capsh --print | grep "Bounding set "); test "$$c" = "Bounding set ="'
|
||||
ExecStart=sh -x -c 'c=$$(capsh --print | grep "Bounding set "); test "$$c" = "Bounding set ="'
|
||||
Type=oneshot
|
||||
CapabilityBoundingSet=CAP_FOWNER CAP_KILL
|
||||
CapabilityBoundingSet=
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for CapabilityBoundingSet
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(capsh --print | grep "Bounding set "); test "$$c" = "Bounding set =cap_fowner,cap_kill"'
|
||||
ExecStart=sh -x -c 'c=$$(capsh --print | grep "Bounding set "); test "$$c" = "Bounding set =cap_fowner,cap_kill"'
|
||||
Type=oneshot
|
||||
CapabilityBoundingSet=CAP_FOWNER CAP_KILL
|
||||
|
@ -9,4 +9,4 @@ Type=oneshot
|
||||
ExecCondition=/bin/sh -c 'exit 255'
|
||||
|
||||
# This should not get run
|
||||
ExecStart=/bin/sh -c 'true'
|
||||
ExecStart=sh -c 'true'
|
||||
|
@ -13,4 +13,4 @@ ExecCondition=/bin/sh -c 'exit 254'
|
||||
ExecCondition=/bin/sh -c 'exit 255'
|
||||
|
||||
# This should not get run
|
||||
ExecStart=/bin/sh -c 'true'
|
||||
ExecStart=sh -c 'true'
|
||||
|
@ -3,5 +3,5 @@
|
||||
Description=Test for CPUAffinity (simple)
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -c 'test $$(cat /proc/self/status | grep Cpus_allowed: | rev | cut -c 1) = 1'
|
||||
ExecStart=sh -c 'test $$(cat /proc/self/status | grep Cpus_allowed: | rev | cut -c 1) = 1'
|
||||
CPUAffinity=0
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for CPUAffinity (reset)
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -c 'test $$(cat /proc/self/status | grep Cpus_allowed: | rev | cut -c 1) = 1'
|
||||
ExecStart=sh -c 'test $$(cat /proc/self/status | grep Cpus_allowed: | rev | cut -c 1) = 1'
|
||||
CPUAffinity=0-1 3
|
||||
CPUAffinity=
|
||||
CPUAffinity=0
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for CPUAffinity (merge)
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -c 'test $$(cat /proc/self/status | grep Cpus_allowed: | rev | cut -c 1) = 7'
|
||||
ExecStart=sh -c 'test $$(cat /proc/self/status | grep Cpus_allowed: | rev | cut -c 1) = 7'
|
||||
CPUAffinity=0,1
|
||||
CPUAffinity=1-2
|
||||
|
@ -5,8 +5,8 @@ Description=Test DynamicUser with static User= whose uid and gid are different
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/sh -x -c 'test "$$(id -nG)" = "adm" && test "$$(id -ng)" = "adm" && test "$$(id -nu)" = "adm"'
|
||||
ExecStart=sh -x -c 'test "$$(id -nG)" = "adm" && test "$$(id -ng)" = "adm" && test "$$(id -nu)" = "adm"'
|
||||
# Multiple ExecStart= lines causes the issue #9702.
|
||||
ExecStart=/bin/sh -x -c 'test "$$(id -nG)" = "adm" && test "$$(id -ng)" = "adm" && test "$$(id -nu)" = "adm"'
|
||||
ExecStart=sh -x -c 'test "$$(id -nG)" = "adm" && test "$$(id -ng)" = "adm" && test "$$(id -nu)" = "adm"'
|
||||
DynamicUser=yes
|
||||
User=adm
|
||||
|
@ -5,8 +5,8 @@ Description=Test DynamicUser with static User= whose uid and gid are different
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/sh -x -c 'test "$$(id -nG)" = "games" && test "$$(id -ng)" = "games" && test "$$(id -nu)" = "games"'
|
||||
ExecStart=sh -x -c 'test "$$(id -nG)" = "games" && test "$$(id -ng)" = "games" && test "$$(id -nu)" = "games"'
|
||||
# Multiple ExecStart= lines causes the issue #9702.
|
||||
ExecStart=/bin/sh -x -c 'test "$$(id -nG)" = "games" && test "$$(id -ng)" = "games" && test "$$(id -nu)" = "games"'
|
||||
ExecStart=sh -x -c 'test "$$(id -nG)" = "games" && test "$$(id -ng)" = "games" && test "$$(id -nu)" = "games"'
|
||||
DynamicUser=yes
|
||||
User=games
|
||||
|
@ -3,8 +3,8 @@
|
||||
Description=Test DynamicUser with User= and SupplementaryGroups=
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'for g in $$(id -G); do test "$$g" = "1" && exit 0; done; exit 1'
|
||||
ExecStart=/bin/sh -x -c 'test "$$(id -g)" = "1" && test "$$(id -u)" = "1"'
|
||||
ExecStart=sh -x -c 'for g in $$(id -G); do test "$$g" = "1" && exit 0; done; exit 1'
|
||||
ExecStart=sh -x -c 'test "$$(id -g)" = "1" && test "$$(id -u)" = "1"'
|
||||
Type=oneshot
|
||||
User=1
|
||||
DynamicUser=yes
|
||||
|
@ -3,8 +3,8 @@
|
||||
Description=Test DynamicUser with User=
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'for g in $$(id -G); do test "$$g" = "1" && exit 0; done; exit 1'
|
||||
ExecStart=/bin/sh -x -c 'test "$$(id -g)" = "1" && test "$$(id -u)" = "1"'
|
||||
ExecStart=sh -x -c 'for g in $$(id -G); do test "$$g" = "1" && exit 0; done; exit 1'
|
||||
ExecStart=sh -x -c 'test "$$(id -g)" = "1" && test "$$(id -u)" = "1"'
|
||||
Type=oneshot
|
||||
User=1
|
||||
DynamicUser=yes
|
||||
|
@ -3,9 +3,9 @@
|
||||
Description=Test for RuntimeDirectory with RuntimeDirectoryPreserve=yes and DynamicUser=yes
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test -d %t/test-exec_runtimedirectorypreserve'
|
||||
ExecStart=/bin/sh -x -c 'test "$$RUNTIME_DIRECTORY" = "%t/test-exec_runtimedirectorypreserve"'
|
||||
ExecStart=/bin/sh -x -c 'touch $$RUNTIME_DIRECTORY/test'
|
||||
ExecStart=sh -x -c 'test -d %t/test-exec_runtimedirectorypreserve'
|
||||
ExecStart=sh -x -c 'test "$$RUNTIME_DIRECTORY" = "%t/test-exec_runtimedirectorypreserve"'
|
||||
ExecStart=sh -x -c 'touch $$RUNTIME_DIRECTORY/test'
|
||||
Type=oneshot
|
||||
RuntimeDirectory=test-exec_runtimedirectorypreserve
|
||||
RuntimeDirectoryPreserve=yes
|
||||
|
@ -3,10 +3,10 @@
|
||||
Description=Test for RuntimeDirectory with RuntimeDirectoryPreserve=yes and DynamicUser=yes 2nd trial
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test -d %t/test-exec_runtimedirectorypreserve'
|
||||
ExecStart=/bin/sh -x -c 'test "$$RUNTIME_DIRECTORY" = "%t/test-exec_runtimedirectorypreserve"'
|
||||
ExecStart=/bin/sh -x -c 'test -f $$RUNTIME_DIRECTORY/test'
|
||||
ExecStart=/bin/sh -x -c 'touch $$RUNTIME_DIRECTORY/test'
|
||||
ExecStart=sh -x -c 'test -d %t/test-exec_runtimedirectorypreserve'
|
||||
ExecStart=sh -x -c 'test "$$RUNTIME_DIRECTORY" = "%t/test-exec_runtimedirectorypreserve"'
|
||||
ExecStart=sh -x -c 'test -f $$RUNTIME_DIRECTORY/test'
|
||||
ExecStart=sh -x -c 'touch $$RUNTIME_DIRECTORY/test'
|
||||
Type=oneshot
|
||||
RuntimeDirectory=test-exec_runtimedirectorypreserve
|
||||
RuntimeDirectoryPreserve=yes
|
||||
|
@ -3,10 +3,10 @@
|
||||
Description=Test for RuntimeDirectory with DynamicUser=yes migrated from RuntimeDirectoryPreserve=yes
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test -d %t/test-exec_runtimedirectorypreserve'
|
||||
ExecStart=/bin/sh -x -c 'test "$$RUNTIME_DIRECTORY" = "%t/test-exec_runtimedirectorypreserve"'
|
||||
ExecStart=/bin/sh -x -c 'test -f $$RUNTIME_DIRECTORY/test'
|
||||
ExecStart=/bin/sh -x -c 'touch $$RUNTIME_DIRECTORY/test'
|
||||
ExecStart=sh -x -c 'test -d %t/test-exec_runtimedirectorypreserve'
|
||||
ExecStart=sh -x -c 'test "$$RUNTIME_DIRECTORY" = "%t/test-exec_runtimedirectorypreserve"'
|
||||
ExecStart=sh -x -c 'test -f $$RUNTIME_DIRECTORY/test'
|
||||
ExecStart=sh -x -c 'touch $$RUNTIME_DIRECTORY/test'
|
||||
Type=oneshot
|
||||
RuntimeDirectory=test-exec_runtimedirectorypreserve
|
||||
DynamicUser=yes
|
||||
|
@ -11,7 +11,7 @@ ExecStart=test -d %S/test-dynamicuser-migrate
|
||||
ExecStart=test -d %S/test-dynamicuser-migrate2/hoge
|
||||
ExecStart=touch %S/test-dynamicuser-migrate/yay
|
||||
ExecStart=touch %S/test-dynamicuser-migrate2/hoge/yayyay
|
||||
ExecStart=/bin/sh -x -c 'test "$$STATE_DIRECTORY" = "%S/test-dynamicuser-migrate:%S/test-dynamicuser-migrate2/hoge"'
|
||||
ExecStart=sh -x -c 'test "$$STATE_DIRECTORY" = "%S/test-dynamicuser-migrate:%S/test-dynamicuser-migrate2/hoge"'
|
||||
|
||||
Type=oneshot
|
||||
DynamicUser=no
|
||||
|
@ -19,7 +19,7 @@ ExecStart=touch %S/test-dynamicuser-migrate/yay
|
||||
ExecStart=touch %S/test-dynamicuser-migrate2/hoge/yayyay
|
||||
ExecStart=touch %S/private/test-dynamicuser-migrate/yay
|
||||
ExecStart=touch %S/private/test-dynamicuser-migrate2/hoge/yayyay
|
||||
ExecStart=/bin/sh -x -c 'test "$$STATE_DIRECTORY" = "%S/test-dynamicuser-migrate:%S/test-dynamicuser-migrate2/hoge"'
|
||||
ExecStart=sh -x -c 'test "$$STATE_DIRECTORY" = "%S/test-dynamicuser-migrate:%S/test-dynamicuser-migrate2/hoge"'
|
||||
|
||||
Type=oneshot
|
||||
DynamicUser=yes
|
||||
|
@ -3,8 +3,8 @@
|
||||
Description=Test DynamicUser with SupplementaryGroups=
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'for g in $$(id -G); do test "$$g" = "1" && exit 0; done; exit 1'
|
||||
ExecStart=/bin/sh -x -c 'for g in $$(id -G); do test "$$g" = "2" && exit 0; done; exit 1'
|
||||
ExecStart=sh -x -c 'for g in $$(id -G); do test "$$g" = "1" && exit 0; done; exit 1'
|
||||
ExecStart=sh -x -c 'for g in $$(id -G); do test "$$g" = "2" && exit 0; done; exit 1'
|
||||
Type=oneshot
|
||||
DynamicUser=yes
|
||||
SupplementaryGroups=1 2
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for Environment
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$${VAR1-unset}" = "unset" && test "$${VAR2-unset}" = "unset" && test "$${VAR3-unset}" = "unset"'
|
||||
ExecStart=sh -x -c 'test "$${VAR1-unset}" = "unset" && test "$${VAR2-unset}" = "unset" && test "$${VAR3-unset}" = "unset"'
|
||||
Type=oneshot
|
||||
Environment="VAR1=word1 word2" VAR2=word3 "VAR3=$word 5 6"
|
||||
Environment=
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for Environment
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = foobar'
|
||||
ExecStart=sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = foobar'
|
||||
Type=oneshot
|
||||
Environment="VAR1=word1 word2" VAR2=word3 "VAR3=$word 5 6"
|
||||
Environment="VAR3=foobar"
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for No Environment Variable Substitution
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$${VAR1-unset}" = "unset" && test "$${VAR2}" = "word3" && test "$${VAR3-unset}" = \'$word 5 6\''
|
||||
ExecStart=sh -x -c 'test "$${VAR1-unset}" = "unset" && test "$${VAR2}" = "word3" && test "$${VAR3-unset}" = \'$word 5 6\''
|
||||
ExecStart=:/bin/sh -x -c 'test "$${VAR1-unset}" != "unset" && test "$${VAR2}" != "word3" && test "$${VAR3-unset}" != \'$word 5 6\''
|
||||
Type=oneshot
|
||||
Environment="VAR2=word3" "VAR3=$word 5 6"
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for Environment
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6"'
|
||||
ExecStart=sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6"'
|
||||
Type=oneshot
|
||||
Environment="VAR1=word1 word2" VAR2=word3 "VAR3=$word 5 6"
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for EnvironmentFile
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$VAR4" = "new\nline" && test "$$VAR5" = passwordwithbackslashes'
|
||||
ExecStart=sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$VAR4" = "new\nline" && test "$$VAR5" = passwordwithbackslashes'
|
||||
Type=oneshot
|
||||
EnvironmentFile=/tmp/test-exec_environmentfile.conf
|
||||
|
@ -1,6 +1,6 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$PATH" = "/usr" && test "$$VAR1" = word3 && test "$$VAR2" = "\\$$word 5 6"'
|
||||
ExecStart=sh -x -c 'test "$$PATH" = "/usr" && test "$$VAR1" = word3 && test "$$VAR2" = "\\$$word 5 6"'
|
||||
Type=oneshot
|
||||
ExecSearchPath=/tmp:/bin
|
||||
Environment="PATH=/usr" VAR1=word3 "VAR2=$word 5 6"
|
||||
|
@ -1,6 +1,6 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1-or-later
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$PATH" = "/tmp:/bin"'
|
||||
ExecStart=sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$PATH" = "/tmp:/bin"'
|
||||
Type=oneshot
|
||||
ExecSearchPath=/tmp:/bin
|
||||
Environment="VAR1=word1 word2" VAR2=word3 "VAR3=$word 5 6"
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for ExecSearchPath with EnvironmentFile where EnvironmentFile sets PATH
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$VAR4" = "new\nline" && test "$$VAR5" = passwordwithbackslashes && test "$$PATH" = /usr'
|
||||
ExecStart=sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$VAR4" = "new\nline" && test "$$VAR5" = passwordwithbackslashes && test "$$PATH" = /usr'
|
||||
Type=oneshot
|
||||
EnvironmentFile=/tmp/test-exec_execsearchpath_environmentfile-set.conf
|
||||
ExecSearchPath=/tmp:/bin
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for ExecSearchPath with EnvironmentFile where EnvironmentFile does not set PATH
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$VAR4" = "new\nline" && test "$$VAR5" = passwordwithbackslashes && test "$$PATH" = "/tmp:/bin"'
|
||||
ExecStart=sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$VAR4" = "new\nline" && test "$$VAR5" = passwordwithbackslashes && test "$$PATH" = "/tmp:/bin"'
|
||||
Type=oneshot
|
||||
ExecSearchPath=/tmp:/bin
|
||||
EnvironmentFile=/tmp/test-exec_execsearchpath_environmentfile.conf
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for PassEnvironment with ExecSearchPath with PATH set by user
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$VAR4" = "new\nline" && test "$$VAR5" = passwordwithbackslashes && test "$$PATH" = "/usr"'
|
||||
ExecStart=sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$VAR4" = "new\nline" && test "$$VAR5" = passwordwithbackslashes && test "$$PATH" = "/usr"'
|
||||
Type=oneshot
|
||||
PassEnvironment=VAR1 VAR2 VAR3 VAR4 VAR5 PATH
|
||||
ExecSearchPath=/tmp:/bin
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for PassEnvironment with ExecSearchPath with PATH not set by user
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$VAR4" = "new\nline" && test "$$VAR5" = passwordwithbackslashes && test "$$PATH" = "/tmp:/bin"'
|
||||
ExecStart=sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$VAR4" = "new\nline" && test "$$VAR5" = passwordwithbackslashes && test "$$PATH" = "/tmp:/bin"'
|
||||
Type=oneshot
|
||||
PassEnvironment=VAR1 VAR2 VAR3 VAR4 VAR5
|
||||
ExecSearchPath=/tmp:/bin
|
||||
|
@ -5,4 +5,4 @@ Description=Test for specifiers with exec search path
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecSearchPath=/tmp:/bin:/usr/bin:%V
|
||||
ExecStart=/bin/sh -x -c 'test %V = /var/tmp && test "$$PATH" = "/tmp:/bin:/usr/bin:/var/tmp"'
|
||||
ExecStart=sh -x -c 'test %V = /var/tmp && test "$$PATH" = "/tmp:/bin:/usr/bin:/var/tmp"'
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for Group
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$(id -n -g)" = "nfsnobody"'
|
||||
ExecStart=sh -x -c 'test "$$(id -n -g)" = "nfsnobody"'
|
||||
Type=oneshot
|
||||
Group=nfsnobody
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for Group
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$(id -n -g)" = "nobody"'
|
||||
ExecStart=sh -x -c 'test "$$(id -n -g)" = "nobody"'
|
||||
Type=oneshot
|
||||
Group=nobody
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for Group
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$(id -n -g)" = "nogroup"'
|
||||
ExecStart=sh -x -c 'test "$$(id -n -g)" = "nogroup"'
|
||||
Type=oneshot
|
||||
Group=nogroup
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for Group (daemon)
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$(id -n -g)" = "daemon"'
|
||||
ExecStart=sh -x -c 'test "$$(id -n -g)" = "daemon"'
|
||||
Type=oneshot
|
||||
Group=daemon
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for IgnoreSIGPIPE=no
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'kill -PIPE 0'
|
||||
ExecStart=sh -x -c 'kill -PIPE 0'
|
||||
Type=oneshot
|
||||
IgnoreSIGPIPE=no
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for IgnoreSIGPIPE=yes
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'kill -PIPE 0'
|
||||
ExecStart=sh -x -c 'kill -PIPE 0'
|
||||
Type=oneshot
|
||||
IgnoreSIGPIPE=yes
|
||||
|
@ -4,5 +4,5 @@ Description=Test to make sure that InaccessiblePaths= disconnect mount propagati
|
||||
|
||||
[Service]
|
||||
InaccessiblePaths=-/i-dont-exist
|
||||
ExecStart=/bin/sh -x -c 'd=$$(mktemp -d -p /tmp); trap "umount \'$$d\' && rmdir \'$$d\'" EXIT; mount -t tmpfs tmpfs "$$d"; grep "$$d" /proc/self/mountinfo && ! grep "$$d" /proc/$${PPID}/mountinfo && ! grep "$$d" /proc/1/mountinfo'
|
||||
ExecStart=sh -x -c 'd=$$(mktemp -d -p /tmp); trap "umount \'$$d\' && rmdir \'$$d\'" EXIT; mount -t tmpfs tmpfs "$$d"; grep "$$d" /proc/self/mountinfo && ! grep "$$d" /proc/$${PPID}/mountinfo && ! grep "$$d" /proc/1/mountinfo'
|
||||
Type=oneshot
|
||||
|
@ -4,5 +4,5 @@ Description=Test to make sure that mount namespace setup works properly with the
|
||||
|
||||
[Service]
|
||||
InaccessiblePaths=/sys
|
||||
ExecStart=/bin/sh -x -c 'test "$$(stat -c %%a /sys)" = "0"'
|
||||
ExecStart=sh -x -c 'test "$$(stat -c %%a /sys)" = "0"'
|
||||
Type=oneshot
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for IOSchedulingClass=best-effort
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(LC_ALL=C ionice); test "$${c%%:*}" = "best-effort"'
|
||||
ExecStart=sh -x -c 'c=$$(LC_ALL=C ionice); test "$${c%%:*}" = "best-effort"'
|
||||
Type=oneshot
|
||||
IOSchedulingClass=best-effort
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for IOSchedulingClass=idle
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(LC_ALL=C ionice); test "$${c%%:*}" = "idle"'
|
||||
ExecStart=sh -x -c 'c=$$(LC_ALL=C ionice); test "$${c%%:*}" = "idle"'
|
||||
Type=oneshot
|
||||
IOSchedulingClass=idle
|
||||
|
@ -4,6 +4,6 @@ Description=Test for IOSchedulingClass=none
|
||||
|
||||
[Service]
|
||||
# Old kernels might report "none" here, new kernels "best-effort".
|
||||
ExecStart=/bin/sh -x -c 'c=$$(LC_ALL=C ionice); test "$${c%%:*}" = "none" -o "$${c%%:*}" = "best-effort"'
|
||||
ExecStart=sh -x -c 'c=$$(LC_ALL=C ionice); test "$${c%%:*}" = "none" -o "$${c%%:*}" = "best-effort"'
|
||||
Type=oneshot
|
||||
IOSchedulingClass=none
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for IOSchedulingClass=realtime
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(LC_ALL=C ionice); test "$${c%%:*}" = "realtime"'
|
||||
ExecStart=sh -x -c 'c=$$(LC_ALL=C ionice); test "$${c%%:*}" = "realtime"'
|
||||
Type=oneshot
|
||||
IOSchedulingClass=realtime
|
||||
|
@ -3,9 +3,9 @@
|
||||
Description=Test for LoadCredential=
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$(cat %d/test-execute.load-credential)" = "foo"'
|
||||
ExecStartPost=/bin/sh -x -c 'test "$$(cat %d/test-execute.load-credential)" = "foo"'
|
||||
ExecStop=/bin/sh -x -c 'test "$$(cat %d/test-execute.load-credential)" = "foo"'
|
||||
ExecStopPost=/bin/sh -x -c 'test "$$(cat %d/test-execute.load-credential)" = "foo"'
|
||||
ExecStart=sh -x -c 'test "$$(cat %d/test-execute.load-credential)" = "foo"'
|
||||
ExecStartPost=sh -x -c 'test "$$(cat %d/test-execute.load-credential)" = "foo"'
|
||||
ExecStop=sh -x -c 'test "$$(cat %d/test-execute.load-credential)" = "foo"'
|
||||
ExecStopPost=sh -x -c 'test "$$(cat %d/test-execute.load-credential)" = "foo"'
|
||||
Type=oneshot
|
||||
LoadCredential=test-execute.load-credential
|
||||
|
@ -3,14 +3,14 @@
|
||||
Description=Test for NetworkNamespacePath= without mount namespacing
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c '! ip link show dummy-test-exec'
|
||||
ExecStart=/bin/sh -x -c 'test ! -e /proc/sys/net/ipv4/conf/dummy-test-exec'
|
||||
ExecStart=sh -x -c '! ip link show dummy-test-exec'
|
||||
ExecStart=sh -x -c 'test ! -e /proc/sys/net/ipv4/conf/dummy-test-exec'
|
||||
# Without mount namespacing, we can access the dummy-test-exec interface through sysfs.
|
||||
ExecStart=/bin/sh -x -c 'test -e /sys/class/net/dummy-test-exec'
|
||||
ExecStart=/bin/sh -x -c 'ip link show dummy-test-ns'
|
||||
ExecStart=/bin/sh -x -c 'test -e /proc/sys/net/ipv4/conf/dummy-test-ns'
|
||||
ExecStart=sh -x -c 'test -e /sys/class/net/dummy-test-exec'
|
||||
ExecStart=sh -x -c 'ip link show dummy-test-ns'
|
||||
ExecStart=sh -x -c 'test -e /proc/sys/net/ipv4/conf/dummy-test-ns'
|
||||
# Without mount namespacing, we cannot access the dummy-test-ns interface through sysfs.
|
||||
ExecStart=/bin/sh -x -c 'test ! -e /sys/class/net/dummy-test-ns'
|
||||
ExecStart=sh -x -c 'test ! -e /sys/class/net/dummy-test-ns'
|
||||
Type=oneshot
|
||||
NetworkNamespacePath=/run/netns/test-execute-netns
|
||||
PrivateMounts=no
|
||||
|
@ -3,14 +3,14 @@
|
||||
Description=Test for NetworkNamespacePath= with mount namespacing
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c '! ip link show dummy-test-exec'
|
||||
ExecStart=/bin/sh -x -c 'test ! -e /proc/sys/net/ipv4/conf/dummy-test-exec'
|
||||
ExecStart=sh -x -c '! ip link show dummy-test-exec'
|
||||
ExecStart=sh -x -c 'test ! -e /proc/sys/net/ipv4/conf/dummy-test-exec'
|
||||
# With mount namespacing, we cannot access the dummy-test-exec interface through sysfs.
|
||||
ExecStart=/bin/sh -x -c 'test ! -e /sys/class/net/dummy-test-exec'
|
||||
ExecStart=/bin/sh -x -c 'ip link show dummy-test-ns'
|
||||
ExecStart=/bin/sh -x -c 'test -e /proc/sys/net/ipv4/conf/dummy-test-ns'
|
||||
ExecStart=sh -x -c 'test ! -e /sys/class/net/dummy-test-exec'
|
||||
ExecStart=sh -x -c 'ip link show dummy-test-ns'
|
||||
ExecStart=sh -x -c 'test -e /proc/sys/net/ipv4/conf/dummy-test-ns'
|
||||
# With mount namespacing, we can access the dummy-test-ns interface through sysfs.
|
||||
ExecStart=/bin/sh -x -c 'test -e /sys/class/net/dummy-test-ns'
|
||||
ExecStart=sh -x -c 'test -e /sys/class/net/dummy-test-ns'
|
||||
Type=oneshot
|
||||
NetworkNamespacePath=/run/netns/test-execute-netns
|
||||
# NetworkNamespacePath= implies PrivateMounts=yes
|
||||
|
@ -7,5 +7,5 @@ Type=oneshot
|
||||
# This should work, as we explicitly disable the effect of NoExecPaths=
|
||||
ExecStart=+/bin/sh -c '/bin/cat /dev/null'
|
||||
# This should also work, as we do not disable the effect of NoExecPaths= but invert the exit code
|
||||
ExecStart=/bin/sh -x -c '! /bin/cat /dev/null'
|
||||
ExecStart=sh -x -c '! /bin/cat /dev/null'
|
||||
NoExecPaths=/bin/cat
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for OOMScoreAdjust
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(cat /proc/self/oom_score_adj); test "$$c" -eq -100'
|
||||
ExecStart=sh -x -c 'c=$$(cat /proc/self/oom_score_adj); test "$$c" -eq -100'
|
||||
Type=oneshot
|
||||
OOMScoreAdjust=-100
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for OOMScoreAdjust
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(cat /proc/self/oom_score_adj); test "$$c" -eq 100'
|
||||
ExecStart=sh -x -c 'c=$$(cat /proc/self/oom_score_adj); test "$$c" -eq 100'
|
||||
Type=oneshot
|
||||
OOMScoreAdjust=100
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for PassEnvironment with variables absent from the execution environment
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$${VAR1-unset}" = "unset" && test "$${VAR2-unset}" = "unset" && test "$${VAR3-unset}" = "unset" && test "$${VAR4-unset}" = "unset" && test "$${VAR5-unset}" = "unset"'
|
||||
ExecStart=sh -x -c 'test "$${VAR1-unset}" = "unset" && test "$${VAR2-unset}" = "unset" && test "$${VAR3-unset}" = "unset" && test "$${VAR4-unset}" = "unset" && test "$${VAR5-unset}" = "unset"'
|
||||
Type=oneshot
|
||||
PassEnvironment=VAR1 VAR2 VAR3 VAR4 VAR5
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for PassEnvironment and erasing the variable list
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$${VAR1-unset}" = "unset" && test "$${VAR2-unset}" = "unset" && test "$${VAR3-unset}" = "unset" && test "$${VAR4-unset}" = "unset" && test "$${VAR5-unset}" = "unset"'
|
||||
ExecStart=sh -x -c 'test "$${VAR1-unset}" = "unset" && test "$${VAR2-unset}" = "unset" && test "$${VAR3-unset}" = "unset" && test "$${VAR4-unset}" = "unset" && test "$${VAR5-unset}" = "unset"'
|
||||
Type=oneshot
|
||||
PassEnvironment=VAR1 VAR2 VAR3 VAR4 VAR5
|
||||
PassEnvironment=
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for PassEnvironment with a variable name repeated
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$VAR4" = "new\nline" && test "$$VAR5" = passwordwithbackslashes'
|
||||
ExecStart=sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$VAR4" = "new\nline" && test "$$VAR5" = passwordwithbackslashes'
|
||||
Type=oneshot
|
||||
PassEnvironment=VAR1 VAR2
|
||||
PassEnvironment=VAR1 VAR3
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for PassEnvironment
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$VAR4" = "new\nline" && test "$$VAR5" = passwordwithbackslashes'
|
||||
ExecStart=sh -x -c 'test "$$VAR1" = "word1 word2" && test "$$VAR2" = word3 && test "$$VAR3" = "\\$$word 5 6" && test "$$VAR4" = "new\nline" && test "$$VAR5" = passwordwithbackslashes'
|
||||
Type=oneshot
|
||||
PassEnvironment=VAR1 VAR2 VAR3 VAR4 VAR5
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for Personality=aarch64
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -c 'echo $(uname -m); exit $(test $(uname -m) = "aarch64")'
|
||||
ExecStart=sh -c 'echo $(uname -m); exit $(test $(uname -m) = "aarch64")'
|
||||
Type=oneshot
|
||||
Personality=aarch64
|
||||
|
@ -2,6 +2,6 @@
|
||||
Description=Test for Personality=loongarch64
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -c 'echo $(uname -m); exit $(test $(uname -m) = "loongarch64")'
|
||||
ExecStart=sh -c 'echo $(uname -m); exit $(test $(uname -m) = "loongarch64")'
|
||||
Type=oneshot
|
||||
Personality=loongarch64
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for Personality=ppc64
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -c 'echo $(uname -m); exit $(test $(uname -m) = "ppc64")'
|
||||
ExecStart=sh -c 'echo $(uname -m); exit $(test $(uname -m) = "ppc64")'
|
||||
Type=oneshot
|
||||
Personality=ppc64
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for Personality=ppc64le
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -c 'echo $(uname -m); exit $(test $(uname -m) = "ppc64le")'
|
||||
ExecStart=sh -c 'echo $(uname -m); exit $(test $(uname -m) = "ppc64le")'
|
||||
Type=oneshot
|
||||
Personality=ppc64le
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for Personality=s390
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(uname -m); test "$$c" = "s390"'
|
||||
ExecStart=sh -x -c 'c=$$(uname -m); test "$$c" = "s390"'
|
||||
Type=oneshot
|
||||
Personality=s390
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for Personality=x86-64
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(uname -m); test "$$c" = "x86_64"'
|
||||
ExecStart=sh -x -c 'c=$$(uname -m); test "$$c" = "x86_64"'
|
||||
Type=oneshot
|
||||
Personality=x86-64
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for Personality=x86
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'c=$$(uname -m); test "$$c" = "i686" -o "$$c" = "x86_64"'
|
||||
ExecStart=sh -x -c 'c=$$(uname -m); test "$$c" = "i686" -o "$$c" = "x86_64"'
|
||||
Type=oneshot
|
||||
Personality=x86
|
||||
|
@ -3,8 +3,8 @@
|
||||
Description=Test for PrivateDevices=yes with a bind mounted device
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -c 'test -c /dev/kmsg'
|
||||
ExecStart=/bin/sh -c 'test ! -w /dev/'
|
||||
ExecStart=sh -c 'test -c /dev/kmsg'
|
||||
ExecStart=sh -c 'test ! -w /dev/'
|
||||
Type=oneshot
|
||||
PrivateDevices=yes
|
||||
BindPaths=/dev/kmsg
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for PrivateDevices=yes with prefix
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c '! test -c /dev/kmsg'
|
||||
ExecStart=sh -x -c '! test -c /dev/kmsg'
|
||||
ExecStart=+/bin/sh -x -c 'test -c /dev/kmsg'
|
||||
Type=oneshot
|
||||
PrivateDevices=yes
|
||||
|
@ -5,5 +5,5 @@ Description=Test CAP_MKNOD capability for PrivateDevices=no
|
||||
[Service]
|
||||
PrivateDevices=no
|
||||
# sed: remove dropped (cap_xxx-[epi]) and IAB capabilities from the output
|
||||
ExecStart=/bin/sh -x -c 'capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_mknod'
|
||||
ExecStart=sh -x -c 'capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_mknod'
|
||||
Type=oneshot
|
||||
|
@ -5,5 +5,5 @@ Description=Test CAP_SYS_RAWIO capability for PrivateDevices=no
|
||||
[Service]
|
||||
PrivateDevices=no
|
||||
# sed: remove dropped (cap_xxx-[epi]) and IAB capabilities from the output
|
||||
ExecStart=/bin/sh -x -c 'capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_sys_rawio'
|
||||
ExecStart=sh -x -c 'capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_sys_rawio'
|
||||
Type=oneshot
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for PrivateDevices=no
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test -c /dev/kmsg'
|
||||
ExecStart=sh -x -c 'test -c /dev/kmsg'
|
||||
Type=oneshot
|
||||
PrivateDevices=no
|
||||
|
@ -5,5 +5,5 @@ Description=Test CAP_MKNOD capability for PrivateDevices=yes
|
||||
[Service]
|
||||
PrivateDevices=yes
|
||||
# sed: remove dropped (cap_xxx-[epi]) and IAB capabilities from the output
|
||||
ExecStart=/bin/sh -x -c '! capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_mknod'
|
||||
ExecStart=sh -x -c '! capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_mknod'
|
||||
Type=oneshot
|
||||
|
@ -5,5 +5,5 @@ Description=Test CAP_SYS_RAWIO capability for PrivateDevices=yes
|
||||
[Service]
|
||||
PrivateDevices=yes
|
||||
# sed: remove dropped (cap_xxx-[epi]) and IAB capabilities from the output
|
||||
ExecStart=/bin/sh -x -c '! capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_sys_rawio'
|
||||
ExecStart=sh -x -c '! capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_sys_rawio'
|
||||
Type=oneshot
|
||||
|
@ -8,10 +8,10 @@ Group=daemon
|
||||
Type=oneshot
|
||||
|
||||
# Check the group applied
|
||||
ExecStart=/bin/sh -x -c 'test "$$(id -n -g)" = "daemon"'
|
||||
ExecStart=sh -x -c 'test "$$(id -n -g)" = "daemon"'
|
||||
|
||||
# Check that the namespace applied
|
||||
ExecStart=/bin/sh -c 'test ! -c /dev/kmsg'
|
||||
ExecStart=sh -c 'test ! -c /dev/kmsg'
|
||||
|
||||
# Check that the owning group of a node is not daemon (should be the host root)
|
||||
ExecStart=/bin/sh -x -c 'test ! "$$(stat -c %%G /dev/stderr)" = "daemon"'
|
||||
ExecStart=sh -x -c 'test ! "$$(stat -c %%G /dev/stderr)" = "daemon"'
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for PrivateDevices=yes
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -c 'test ! -c /dev/kmsg'
|
||||
ExecStart=sh -c 'test ! -c /dev/kmsg'
|
||||
Type=oneshot
|
||||
PrivateDevices=yes
|
||||
|
@ -3,10 +3,10 @@
|
||||
Description=Test for PrivateNetwork= without mount namespacing
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c '! ip link show dummy-test-exec'
|
||||
ExecStart=/bin/sh -x -c 'test ! -e /proc/sys/net/ipv4/conf/dummy-test-exec'
|
||||
ExecStart=sh -x -c '! ip link show dummy-test-exec'
|
||||
ExecStart=sh -x -c 'test ! -e /proc/sys/net/ipv4/conf/dummy-test-exec'
|
||||
# Without mount namespacing, we can access the dummy-test-exec interface through sysfs
|
||||
ExecStart=/bin/sh -x -c 'test -d /sys/class/net/dummy-test-exec'
|
||||
ExecStart=sh -x -c 'test -d /sys/class/net/dummy-test-exec'
|
||||
Type=oneshot
|
||||
PrivateNetwork=yes
|
||||
PrivateMounts=no
|
||||
|
@ -3,10 +3,10 @@
|
||||
Description=Test for PrivateNetwork= with mount namespacing
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c '! ip link show dummy-test-exec'
|
||||
ExecStart=/bin/sh -x -c 'test ! -e /proc/sys/net/ipv4/conf/dummy-test-exec'
|
||||
ExecStart=sh -x -c '! ip link show dummy-test-exec'
|
||||
ExecStart=sh -x -c 'test ! -e /proc/sys/net/ipv4/conf/dummy-test-exec'
|
||||
# With mount namespacing, we cannot access the dummy-test-exec interface through sysfs.
|
||||
ExecStart=/bin/sh -x -c 'test ! -e /sys/class/net/dummy-test-exec'
|
||||
ExecStart=sh -x -c 'test ! -e /sys/class/net/dummy-test-exec'
|
||||
Type=oneshot
|
||||
PrivateNetwork=yes
|
||||
# PrivateNetwork=yes implies PrivateMounts=yes
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for PrivateTmp=yes with prefix
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test ! -f /tmp/test-exec_privatetmp'
|
||||
ExecStart=sh -x -c 'test ! -f /tmp/test-exec_privatetmp'
|
||||
ExecStart=+/bin/sh -x -c 'test -f /tmp/test-exec_privatetmp'
|
||||
Type=oneshot
|
||||
PrivateTmp=yes
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for PrivateTmp=no
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test -f /tmp/test-exec_privatetmp'
|
||||
ExecStart=sh -x -c 'test -f /tmp/test-exec_privatetmp'
|
||||
Type=oneshot
|
||||
PrivateTmp=no
|
||||
|
@ -3,6 +3,6 @@
|
||||
Description=Test for PrivateTmp=yes
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test ! -f /tmp/test-exec_privatetmp'
|
||||
ExecStart=sh -x -c 'test ! -f /tmp/test-exec_privatetmp'
|
||||
Type=oneshot
|
||||
PrivateTmp=yes
|
||||
|
@ -7,4 +7,4 @@ Description=Test ProtectHome=tmpfs vs ProtectSystem=strict
|
||||
ProtectHome=tmpfs
|
||||
ProtectSystem=strict
|
||||
Type=oneshot
|
||||
ExecStart=/bin/sh -x -c 'test "$$(stat -fc %%T /home)" = "tmpfs"'
|
||||
ExecStart=sh -x -c 'test "$$(stat -fc %%T /home)" = "tmpfs"'
|
||||
|
@ -5,5 +5,5 @@ Description=Test CAP_SYSLOG for ProtectKernelLogs=no
|
||||
[Service]
|
||||
ProtectKernelLogs=no
|
||||
# sed: remove dropped (cap_xxx-[epi]) and IAB capabilities from the output
|
||||
ExecStart=/bin/sh -x -c 'capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_syslog'
|
||||
ExecStart=sh -x -c 'capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_syslog'
|
||||
Type=oneshot
|
||||
|
@ -5,5 +5,5 @@ Description=Test CAP_SYSLOG for ProtectKernelLogs=yes
|
||||
[Service]
|
||||
ProtectKernelLogs=yes
|
||||
# sed: remove dropped (cap_xxx-[epi]) and IAB capabilities from the output
|
||||
ExecStart=/bin/sh -x -c '! capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_syslog'
|
||||
ExecStart=sh -x -c '! capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_syslog'
|
||||
Type=oneshot
|
||||
|
@ -5,5 +5,5 @@ Description=Test CAP_SYS_MODULE ProtectKernelModules=no
|
||||
[Service]
|
||||
ProtectKernelModules=no
|
||||
# sed: remove dropped (cap_xxx-[epi]) and IAB capabilities from the output
|
||||
ExecStart=/bin/sh -x -c 'capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_sys_module'
|
||||
ExecStart=sh -x -c 'capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_sys_module'
|
||||
Type=oneshot
|
||||
|
@ -5,5 +5,5 @@ Description=Test CAP_SYS_MODULE for ProtectKernelModules=yes
|
||||
[Service]
|
||||
ProtectKernelModules=yes
|
||||
# sed: remove dropped (cap_xxx-[epi]) and IAB capabilities from the output
|
||||
ExecStart=/bin/sh -x -c '! capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_sys_module'
|
||||
ExecStart=sh -x -c '! capsh --print | sed -re "s/[^ ]+?\-[epi]+//g" -e '/IAB/d' | grep cap_sys_module'
|
||||
Type=oneshot
|
||||
|
@ -4,5 +4,5 @@ Description=Test to make sure that passing ProtectKernelModules=yes disconnect m
|
||||
|
||||
[Service]
|
||||
ProtectKernelModules=yes
|
||||
ExecStart=/bin/sh -x -c 'd=$$(mktemp -d -p /tmp); trap "umount \'$$d\' && rmdir \'$$d\'" EXIT; mount -t tmpfs tmpfs "$$d"; grep "$$d" /proc/self/mountinfo && ! grep "$$d" /proc/$${PPID}/mountinfo && ! grep "$$d" /proc/1/mountinfo'
|
||||
ExecStart=sh -x -c 'd=$$(mktemp -d -p /tmp); trap "umount \'$$d\' && rmdir \'$$d\'" EXIT; mount -t tmpfs tmpfs "$$d"; grep "$$d" /proc/self/mountinfo && ! grep "$$d" /proc/$${PPID}/mountinfo && ! grep "$$d" /proc/1/mountinfo'
|
||||
Type=oneshot
|
||||
|
@ -4,5 +4,5 @@ Description=Test to make sure that passing ReadOnlyPaths= disconnect mount propa
|
||||
|
||||
[Service]
|
||||
ReadOnlyPaths=-/i-dont-exist
|
||||
ExecStart=/bin/sh -x -c 'd=$$(mktemp -d -p /tmp); trap "umount \'$$d\' && rmdir \'$$d\'" EXIT; mount -t tmpfs tmpfs "$$d"; grep "$$d" /proc/self/mountinfo && ! grep "$$d" /proc/$${PPID}/mountinfo && ! grep "$$d" /proc/1/mountinfo'
|
||||
ExecStart=sh -x -c 'd=$$(mktemp -d -p /tmp); trap "umount \'$$d\' && rmdir \'$$d\'" EXIT; mount -t tmpfs tmpfs "$$d"; grep "$$d" /proc/self/mountinfo && ! grep "$$d" /proc/$${PPID}/mountinfo && ! grep "$$d" /proc/1/mountinfo'
|
||||
Type=oneshot
|
||||
|
@ -7,6 +7,6 @@ Type=oneshot
|
||||
# This should work, as we explicitly disable the effect of ReadOnlyPaths=
|
||||
ExecStart=+/bin/sh -c 'touch /tmp/thisisasimpletest'
|
||||
# This should also work, as we do not disable the effect of ReadOnlyPaths= but invert the exit code
|
||||
ExecStart=/bin/sh -x -c '! touch /tmp/thisisasimpletest'
|
||||
ExecStart=sh -x -c '! touch /tmp/thisisasimpletest'
|
||||
ExecStart=+/bin/sh -c 'rm /tmp/thisisasimpletest'
|
||||
ReadOnlyPaths=/tmp
|
||||
|
@ -5,5 +5,5 @@ Description=Test for ReadOnlyPaths=
|
||||
[Service]
|
||||
ReadOnlyPaths=/etc -/i-dont-exist /usr
|
||||
BindPaths=/etc:/tmp/etc2
|
||||
ExecStart=/bin/sh -x -c 'test ! -w /etc && test ! -w /usr && test ! -e /i-dont-exist && test -w /var'
|
||||
ExecStart=sh -x -c 'test ! -w /etc && test ! -w /usr && test ! -e /i-dont-exist && test -w /var'
|
||||
Type=oneshot
|
||||
|
@ -5,6 +5,6 @@ Description=Test for ReadOnlyPaths=
|
||||
[Service]
|
||||
ReadOnlyPaths=/usr /etc /sys /dev -/i-dont-exist
|
||||
PrivateDevices=yes
|
||||
ExecStart=/bin/sh -x -c 'test ! -w /usr && test ! -w /etc && test ! -w /sys && test ! -w /sys/fs/cgroup'
|
||||
ExecStart=/bin/sh -x -c 'test ! -w /dev && test ! -w /dev/shm && test ! -e /i-dont-exist && test -w /var'
|
||||
ExecStart=sh -x -c 'test ! -w /usr && test ! -w /etc && test ! -w /sys && test ! -w /sys/fs/cgroup'
|
||||
ExecStart=sh -x -c 'test ! -w /dev && test ! -w /dev/shm && test ! -e /i-dont-exist && test -w /var'
|
||||
Type=oneshot
|
||||
|
@ -4,5 +4,5 @@ Description=Test to make sure that passing ReadWritePaths= disconnect mount prop
|
||||
|
||||
[Service]
|
||||
ReadWritePaths=-/i-dont-exist
|
||||
ExecStart=/bin/sh -x -c 'd=$$(mktemp -d -p /tmp); trap "umount \'$$d\' && rmdir \'$$d\'" EXIT; mount -t tmpfs tmpfs "$$d"; grep "$$d" /proc/self/mountinfo && ! grep "$$d" /proc/$${PPID}/mountinfo && ! grep "$$d" /proc/1/mountinfo'
|
||||
ExecStart=sh -x -c 'd=$$(mktemp -d -p /tmp); trap "umount \'$$d\' && rmdir \'$$d\'" EXIT; mount -t tmpfs tmpfs "$$d"; grep "$$d" /proc/self/mountinfo && ! grep "$$d" /proc/$${PPID}/mountinfo && ! grep "$$d" /proc/1/mountinfo'
|
||||
Type=oneshot
|
||||
|
@ -3,8 +3,8 @@
|
||||
Description=Test for RuntimeDirectoryMode
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'mode=$$(stat -c %%a %t/test-exec_runtimedirectory-mode); test "$$mode" = "750"'
|
||||
ExecStart=/bin/sh -x -c 'test "$$RUNTIME_DIRECTORY" = "%t/test-exec_runtimedirectory-mode"'
|
||||
ExecStart=sh -x -c 'mode=$$(stat -c %%a %t/test-exec_runtimedirectory-mode); test "$$mode" = "750"'
|
||||
ExecStart=sh -x -c 'test "$$RUNTIME_DIRECTORY" = "%t/test-exec_runtimedirectory-mode"'
|
||||
Type=oneshot
|
||||
RuntimeDirectory=test-exec_runtimedirectory-mode
|
||||
RuntimeDirectoryMode=0750
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for RuntimeDirectory owner (must not be the default group of the user if Group is set)
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'group=$$(stat -c %%G %t/test-exec_runtimedirectory-owner); test "$$group" = "nfsnobody"'
|
||||
ExecStart=sh -x -c 'group=$$(stat -c %%G %t/test-exec_runtimedirectory-owner); test "$$group" = "nfsnobody"'
|
||||
Type=oneshot
|
||||
Group=nfsnobody
|
||||
User=root
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for RuntimeDirectory owner (must not be the default group of the user if Group is set)
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'group=$$(stat -c %%G %t/test-exec_runtimedirectory-owner); test "$$group" = "nobody"'
|
||||
ExecStart=sh -x -c 'group=$$(stat -c %%G %t/test-exec_runtimedirectory-owner); test "$$group" = "nobody"'
|
||||
Type=oneshot
|
||||
Group=nobody
|
||||
User=root
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for RuntimeDirectory owner (must not be the default group of the user if Group is set)
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'group=$$(stat -c %%G %t/test-exec_runtimedirectory-owner); test "$$group" = "nogroup"'
|
||||
ExecStart=sh -x -c 'group=$$(stat -c %%G %t/test-exec_runtimedirectory-owner); test "$$group" = "nogroup"'
|
||||
Type=oneshot
|
||||
Group=nogroup
|
||||
User=root
|
||||
|
@ -3,7 +3,7 @@
|
||||
Description=Test for RuntimeDirectory owner (must not be the default group of the user if Group is set)
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'group=$$(stat -c %%G %t/test-exec_runtimedirectory-owner-daemon); test "$$group" = "daemon"'
|
||||
ExecStart=sh -x -c 'group=$$(stat -c %%G %t/test-exec_runtimedirectory-owner-daemon); test "$$group" = "daemon"'
|
||||
Type=oneshot
|
||||
Group=daemon
|
||||
User=root
|
||||
|
@ -3,9 +3,9 @@
|
||||
Description=Test for RuntimeDirectory
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test -d %t/test-exec_runtimedirectory'
|
||||
ExecStart=/bin/sh -x -c 'test -d %t/test-exec_runtimedirectory2/hogehoge'
|
||||
ExecStart=/bin/sh -x -c 'test "$$RUNTIME_DIRECTORY" = "%t/test-exec_runtimedirectory:%t/test-exec_runtimedirectory2/hogehoge"'
|
||||
ExecStart=sh -x -c 'test -d %t/test-exec_runtimedirectory'
|
||||
ExecStart=sh -x -c 'test -d %t/test-exec_runtimedirectory2/hogehoge'
|
||||
ExecStart=sh -x -c 'test "$$RUNTIME_DIRECTORY" = "%t/test-exec_runtimedirectory:%t/test-exec_runtimedirectory2/hogehoge"'
|
||||
Type=oneshot
|
||||
RuntimeDirectory=test-exec_runtimedirectory
|
||||
RuntimeDirectory=./test-exec_runtimedirectory2///./hogehoge/.
|
||||
|
@ -3,9 +3,9 @@
|
||||
Description=Test for SetCredential=
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -x -c 'test "$$(cat %d/test-execute.set-credential)" = "hoge"'
|
||||
ExecStartPost=/bin/sh -x -c 'test "$$(cat %d/test-execute.set-credential)" = "hoge"'
|
||||
ExecStop=/bin/sh -x -c 'test "$$(cat %d/test-execute.set-credential)" = "hoge"'
|
||||
ExecStopPost=/bin/sh -x -c 'test "$$(cat %d/test-execute.set-credential)" = "hoge"'
|
||||
ExecStart=sh -x -c 'test "$$(cat %d/test-execute.set-credential)" = "hoge"'
|
||||
ExecStartPost=sh -x -c 'test "$$(cat %d/test-execute.set-credential)" = "hoge"'
|
||||
ExecStop=sh -x -c 'test "$$(cat %d/test-execute.set-credential)" = "hoge"'
|
||||
ExecStopPost=sh -x -c 'test "$$(cat %d/test-execute.set-credential)" = "hoge"'
|
||||
Type=oneshot
|
||||
SetCredential=test-execute.set-credential:hoge
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user