From 161abb3aeb44c6c019c862466d839183a8aba8da Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Tue, 29 Sep 2026 20:05:36 +0500 Subject: test: more checks + minor refactoring --- test/data/src/%DEST%/bar/baz/5.txt | 1 + test/lib/test.sh | 2 +- test/tst-chmod.sh | 5 ++++- test/tst-dir-symlink-delete.sh | 30 ++++++++++++++++++++------ test/tst-dir-symlink-remove-shared-file.sh | 34 +++++++++++++++++++++++++++--- test/tst-remove-dir-symlink.sh | 8 ++++--- test/tst-update-chmod.sh | 1 + test/tst-update-dir-symlink.sh | 10 ++++++--- test/tst-update-symlink.sh | 1 + test/tst-update.sh | 4 +++- 10 files changed, 77 insertions(+), 19 deletions(-) create mode 100644 test/data/src/%DEST%/bar/baz/5.txt (limited to 'test') diff --git a/test/data/src/%DEST%/bar/baz/5.txt b/test/data/src/%DEST%/bar/baz/5.txt new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/test/data/src/%DEST%/bar/baz/5.txt @@ -0,0 +1 @@ +5 diff --git a/test/lib/test.sh b/test/lib/test.sh index 1406a78..50cd0a4 100644 --- a/test/lib/test.sh +++ b/test/lib/test.sh @@ -4,12 +4,12 @@ # Distributed under the MIT License. test_should_fail= +test_root_dir= src_dir_name='src' dest_dir_name='dest' alt_dest_dir_name='alt_dest' -test_root_dir= test_src_dir= test_dest_dir= test_alt_dest_dir= diff --git a/test/tst-chmod.sh b/test/tst-chmod.sh index b118e5e..5e26063 100644 --- a/test/tst-chmod.sh +++ b/test/tst-chmod.sh @@ -4,14 +4,17 @@ test_run() { test_setup test_run_update - local expected_output="$test_dest_dir-> + local expected_output + expected_output="$test_dest_dir-> $test_dest_dir/1.txt->$test_src_dir/%DEST%/1.txt $test_dest_dir/bar-> $test_dest_dir/bar/3.txt->$test_src_dir/%DEST%/bar/3.txt $test_dest_dir/bar/baz-> $test_dest_dir/bar/baz/4.txt->$test_src_dir/%DEST%/bar/baz/4.txt +$test_dest_dir/bar/baz/5.txt->$test_src_dir/%DEST%/bar/baz/5.txt $test_dest_dir/foo-> $test_dest_dir/foo/2.txt->$test_src_dir/%DEST%/foo/2.txt" + test_verify_output "$test_dest_dir" "$expected_output" log "Verifying 1.txt's (the shared file) permissions..." diff --git a/test/tst-dir-symlink-delete.sh b/test/tst-dir-symlink-delete.sh index f53d87c..82de5ab 100644 --- a/test/tst-dir-symlink-delete.sh +++ b/test/tst-dir-symlink-delete.sh @@ -5,21 +5,37 @@ test_run() { test_setup_dir_symlink test_run_update - # Remove the directory symlink: - rm -- "$test_src_dir/%ALT_DEST%" - test_run_update - - local expected_output="$test_dest_dir-> + local expected_output + expected_output="$test_dest_dir-> $test_dest_dir/1.txt->$test_src_dir/%DEST%/1.txt $test_dest_dir/bar-> $test_dest_dir/bar/3.txt->$test_src_dir/%DEST%/bar/3.txt $test_dest_dir/bar/baz-> $test_dest_dir/bar/baz/4.txt->$test_src_dir/%DEST%/bar/baz/4.txt +$test_dest_dir/bar/baz/5.txt->$test_src_dir/%DEST%/bar/baz/5.txt $test_dest_dir/foo-> $test_dest_dir/foo/2.txt->$test_src_dir/%DEST%/foo/2.txt" test_verify_output "$test_dest_dir" "$expected_output" - expected_output="$test_alt_dest_dir->" - test_verify_output "$test_alt_dest_dir" "$expected_output" + local expected_alt_output + expected_alt_output="$test_alt_dest_dir-> +$test_alt_dest_dir/1.txt->$test_src_dir/%ALT_DEST%/1.txt +$test_alt_dest_dir/bar-> +$test_alt_dest_dir/bar/3.txt->$test_src_dir/%ALT_DEST%/bar/3.txt +$test_alt_dest_dir/bar/baz-> +$test_alt_dest_dir/bar/baz/4.txt->$test_src_dir/%ALT_DEST%/bar/baz/4.txt +$test_alt_dest_dir/bar/baz/5.txt->$test_src_dir/%ALT_DEST%/bar/baz/5.txt +$test_alt_dest_dir/foo-> +$test_alt_dest_dir/foo/2.txt->$test_src_dir/%ALT_DEST%/foo/2.txt" + + test_verify_output "$test_alt_dest_dir" "$expected_alt_output" + + # Remove the directory symlink: + rm -- "$test_src_dir/%ALT_DEST%" + test_run_update + + test_verify_output "$test_dest_dir" "$expected_output" + expected_alt_output="$test_alt_dest_dir->" + test_verify_output "$test_alt_dest_dir" "$expected_alt_output" } diff --git a/test/tst-dir-symlink-remove-shared-file.sh b/test/tst-dir-symlink-remove-shared-file.sh index 3e20ab0..614ca8c 100644 --- a/test/tst-dir-symlink-remove-shared-file.sh +++ b/test/tst-dir-symlink-remove-shared-file.sh @@ -4,27 +4,55 @@ test_run() { test_setup_dir_symlink test_run_update + local expected_output + expected_output="$test_dest_dir-> +$test_dest_dir/1.txt->$test_src_dir/%DEST%/1.txt +$test_dest_dir/bar-> +$test_dest_dir/bar/3.txt->$test_src_dir/%DEST%/bar/3.txt +$test_dest_dir/bar/baz-> +$test_dest_dir/bar/baz/4.txt->$test_src_dir/%DEST%/bar/baz/4.txt +$test_dest_dir/bar/baz/5.txt->$test_src_dir/%DEST%/bar/baz/5.txt +$test_dest_dir/foo-> +$test_dest_dir/foo/2.txt->$test_src_dir/%DEST%/foo/2.txt" + + test_verify_output "$test_dest_dir" "$expected_output" + + local expected_alt_output + expected_alt_output="$test_alt_dest_dir-> +$test_alt_dest_dir/1.txt->$test_src_dir/%ALT_DEST%/1.txt +$test_alt_dest_dir/bar-> +$test_alt_dest_dir/bar/3.txt->$test_src_dir/%ALT_DEST%/bar/3.txt +$test_alt_dest_dir/bar/baz-> +$test_alt_dest_dir/bar/baz/4.txt->$test_src_dir/%ALT_DEST%/bar/baz/4.txt +$test_alt_dest_dir/bar/baz/5.txt->$test_src_dir/%ALT_DEST%/bar/baz/5.txt +$test_alt_dest_dir/foo-> +$test_alt_dest_dir/foo/2.txt->$test_src_dir/%ALT_DEST%/foo/2.txt" + + test_verify_output "$test_alt_dest_dir" "$expected_alt_output" + # Remove a random shared file: rm -- "$test_src_dir/%DEST%/bar/3.txt" test_run_update - local expected_output="$test_dest_dir-> + expected_output="$test_dest_dir-> $test_dest_dir/1.txt->$test_src_dir/%DEST%/1.txt $test_dest_dir/bar-> $test_dest_dir/bar/baz-> $test_dest_dir/bar/baz/4.txt->$test_src_dir/%DEST%/bar/baz/4.txt +$test_dest_dir/bar/baz/5.txt->$test_src_dir/%DEST%/bar/baz/5.txt $test_dest_dir/foo-> $test_dest_dir/foo/2.txt->$test_src_dir/%DEST%/foo/2.txt" test_verify_output "$test_dest_dir" "$expected_output" - expected_output="$test_alt_dest_dir-> + expected_alt_output="$test_alt_dest_dir-> $test_alt_dest_dir/1.txt->$test_src_dir/%ALT_DEST%/1.txt $test_alt_dest_dir/bar-> $test_alt_dest_dir/bar/baz-> $test_alt_dest_dir/bar/baz/4.txt->$test_src_dir/%ALT_DEST%/bar/baz/4.txt +$test_alt_dest_dir/bar/baz/5.txt->$test_src_dir/%ALT_DEST%/bar/baz/5.txt $test_alt_dest_dir/foo-> $test_alt_dest_dir/foo/2.txt->$test_src_dir/%ALT_DEST%/foo/2.txt" - test_verify_output "$test_alt_dest_dir" "$expected_output" + test_verify_output "$test_alt_dest_dir" "$expected_alt_output" } diff --git a/test/tst-remove-dir-symlink.sh b/test/tst-remove-dir-symlink.sh index c524ee6..e9bcc67 100644 --- a/test/tst-remove-dir-symlink.sh +++ b/test/tst-remove-dir-symlink.sh @@ -5,9 +5,11 @@ test_run() { test_run_update test_run_remove - local expected_output="$test_dest_dir->" + local expected_output + expected_output="$test_dest_dir->" test_verify_output "$test_dest_dir" "$expected_output" - expected_output="$test_alt_dest_dir->" - test_verify_output "$test_alt_dest_dir" "$expected_output" + local expected_alt_output + expected_alt_output="$test_alt_dest_dir->" + test_verify_output "$test_alt_dest_dir" "$expected_alt_output" } diff --git a/test/tst-update-chmod.sh b/test/tst-update-chmod.sh index a78ee15..60774a1 100644 --- a/test/tst-update-chmod.sh +++ b/test/tst-update-chmod.sh @@ -11,6 +11,7 @@ $test_dest_dir/bar-> $test_dest_dir/bar/3.txt->$test_src_dir/%DEST%/bar/3.txt $test_dest_dir/bar/baz-> $test_dest_dir/bar/baz/4.txt->$test_src_dir/%DEST%/bar/baz/4.txt +$test_dest_dir/bar/baz/5.txt->$test_src_dir/%DEST%/bar/baz/5.txt $test_dest_dir/foo-> $test_dest_dir/foo/2.txt->$test_src_dir/%DEST%/foo/2.txt" diff --git a/test/tst-update-dir-symlink.sh b/test/tst-update-dir-symlink.sh index 27418ab..3bc4296 100644 --- a/test/tst-update-dir-symlink.sh +++ b/test/tst-update-dir-symlink.sh @@ -5,25 +5,29 @@ test_run() { test_setup_dir_symlink test_run_update - local expected_output="$test_dest_dir-> + local expected_output + expected_output="$test_dest_dir-> $test_dest_dir/1.txt->$test_src_dir/%DEST%/1.txt $test_dest_dir/bar-> $test_dest_dir/bar/3.txt->$test_src_dir/%DEST%/bar/3.txt $test_dest_dir/bar/baz-> $test_dest_dir/bar/baz/4.txt->$test_src_dir/%DEST%/bar/baz/4.txt +$test_dest_dir/bar/baz/5.txt->$test_src_dir/%DEST%/bar/baz/5.txt $test_dest_dir/foo-> $test_dest_dir/foo/2.txt->$test_src_dir/%DEST%/foo/2.txt" test_verify_output "$test_dest_dir" "$expected_output" - expected_output="$test_alt_dest_dir-> + local expected_alt_output + expected_alt_output="$test_alt_dest_dir-> $test_alt_dest_dir/1.txt->$test_src_dir/%ALT_DEST%/1.txt $test_alt_dest_dir/bar-> $test_alt_dest_dir/bar/3.txt->$test_src_dir/%ALT_DEST%/bar/3.txt $test_alt_dest_dir/bar/baz-> $test_alt_dest_dir/bar/baz/4.txt->$test_src_dir/%ALT_DEST%/bar/baz/4.txt +$test_alt_dest_dir/bar/baz/5.txt->$test_src_dir/%ALT_DEST%/bar/baz/5.txt $test_alt_dest_dir/foo-> $test_alt_dest_dir/foo/2.txt->$test_src_dir/%ALT_DEST%/foo/2.txt" - test_verify_output "$test_alt_dest_dir" "$expected_output" + test_verify_output "$test_alt_dest_dir" "$expected_alt_output" } diff --git a/test/tst-update-symlink.sh b/test/tst-update-symlink.sh index 6a90491..598e12a 100644 --- a/test/tst-update-symlink.sh +++ b/test/tst-update-symlink.sh @@ -11,6 +11,7 @@ $test_dest_dir/bar-> $test_dest_dir/bar/3.txt->$test_src_dir/%DEST%/bar/3.txt $test_dest_dir/bar/baz-> $test_dest_dir/bar/baz/4.txt->$test_src_dir/%DEST%/bar/baz/4.txt +$test_dest_dir/bar/baz/5.txt->$test_src_dir/%DEST%/bar/baz/5.txt $test_dest_dir/foo-> $test_dest_dir/foo/2.txt->$test_src_dir/%DEST%/foo/2.txt" diff --git a/test/tst-update.sh b/test/tst-update.sh index f33b929..bcb3ad7 100644 --- a/test/tst-update.sh +++ b/test/tst-update.sh @@ -5,12 +5,14 @@ test_run() { test_setup test_run_update - local expected_output="$test_dest_dir-> + local expected_output + expected_output="$test_dest_dir-> $test_dest_dir/1.txt->$test_src_dir/%DEST%/1.txt $test_dest_dir/bar-> $test_dest_dir/bar/3.txt->$test_src_dir/%DEST%/bar/3.txt $test_dest_dir/bar/baz-> $test_dest_dir/bar/baz/4.txt->$test_src_dir/%DEST%/bar/baz/4.txt +$test_dest_dir/bar/baz/5.txt->$test_src_dir/%DEST%/bar/baz/5.txt $test_dest_dir/foo-> $test_dest_dir/foo/2.txt->$test_src_dir/%DEST%/foo/2.txt" -- cgit v1.3