mirror of
https://github.com/systemd/systemd.git
synced 2025-03-04 20:58:28 +03:00
test: add test for BindPaths= and BindReadOnlyPaths=
Follow-up for a8cabc612b16834260831a8163ae4b479b5c33a5.
This commit is contained in:
parent
35d379b2e8
commit
d053b72bdd
@ -100,6 +100,16 @@ static void test(Manager *m, const char *unit_name, int status_expected, int cod
|
||||
check(m, unit, status_expected, code_expected);
|
||||
}
|
||||
|
||||
static void test_exec_bind_paths(Manager *m) {
|
||||
assert_se(mkdir_p("/tmp/test-exec_bind_paths", 0755) >= 0);
|
||||
assert_se(mkdir_p("/tmp/test-exec_bind_readonly_paths", 0755) >= 0);
|
||||
|
||||
test(m, "exec-bind-paths.service", 0, CLD_EXITED);
|
||||
|
||||
(void) rm_rf("/tmp/test-exec_bind_paths", REMOVE_ROOT|REMOVE_PHYSICAL);
|
||||
(void) rm_rf("/tmp/test-exec_bind_readonly_paths", REMOVE_ROOT|REMOVE_PHYSICAL);
|
||||
}
|
||||
|
||||
static void test_exec_workingdirectory(Manager *m) {
|
||||
assert_se(mkdir_p("/tmp/test-exec_workingdirectory", 0755) >= 0);
|
||||
|
||||
@ -483,6 +493,7 @@ static int run_tests(UnitFileScope scope, const test_function_t *tests) {
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
static const test_function_t user_tests[] = {
|
||||
test_exec_bind_paths,
|
||||
test_exec_workingdirectory,
|
||||
test_exec_personality,
|
||||
test_exec_ignoresigpipe,
|
||||
|
@ -46,6 +46,7 @@ test_data_files = '''
|
||||
test-path/path-makedirectory.path
|
||||
test-path/path-modified.path
|
||||
test-path/path-unit.path
|
||||
test-execute/exec-bind-paths.service
|
||||
test-execute/exec-environment-empty.service
|
||||
test-execute/exec-environment-multiple.service
|
||||
test-execute/exec-environment.service
|
||||
|
14
test/test-execute/exec-bind-paths.service
Normal file
14
test/test-execute/exec-bind-paths.service
Normal file
@ -0,0 +1,14 @@
|
||||
[Service]
|
||||
Type=oneshot
|
||||
# Create a file in /tmp/test-exec_bind_paths
|
||||
ExecStart=/bin/sh -c 'touch /tmp/test-exec_bind_paths/thisisasimpletest'
|
||||
# Then, the file can be access through /tmp
|
||||
ExecStart=/bin/sh -c 'test -f /tmp/thisisasimpletest'
|
||||
# Also, through /tmp/test-exec_bind_readonly_paths
|
||||
ExecStart=/bin/sh -c 'test -f /tmp/test-exec_bind_readonly_paths/thisisasimpletest'
|
||||
# The file cannot modify through /tmp/test-exec_bind_readonly_paths
|
||||
ExecStart=/bin/sh -x -c '! touch /tmp/test-exec_bind_readonly_paths/thisisasimpletest'
|
||||
# Cleanup
|
||||
ExecStart=/bin/sh -c 'rm /tmp/thisisasimpletest'
|
||||
BindPaths=/tmp:/tmp/test-exec_bind_paths
|
||||
BindReadOnlyPaths=/tmp:/tmp/test-exec_bind_readonly_paths
|
Loading…
x
Reference in New Issue
Block a user