summaryrefslogtreecommitdiffstatshomepage
path: root/test
diff options
context:
space:
mode:
authorEgor Tensin <egor@tensin.name>2026-09-29 20:05:36 +0500
committerEgor Tensin <egor@tensin.name>2026-09-29 20:05:36 +0500
commit161abb3aeb44c6c019c862466d839183a8aba8da (patch)
tree197e0ec7b23e4a9b03776043122105723065477f /test
parentMakefile: move DO: to prelude.mk (diff)
downloadconfig-links-161abb3aeb44c6c019c862466d839183a8aba8da.tar.gz
config-links-161abb3aeb44c6c019c862466d839183a8aba8da.zip
test: more checks + minor refactoring
Diffstat (limited to 'test')
-rw-r--r--test/data/src/%DEST%/bar/baz/5.txt1
-rw-r--r--test/lib/test.sh2
-rw-r--r--test/tst-chmod.sh5
-rw-r--r--test/tst-dir-symlink-delete.sh30
-rw-r--r--test/tst-dir-symlink-remove-shared-file.sh34
-rw-r--r--test/tst-remove-dir-symlink.sh8
-rw-r--r--test/tst-update-chmod.sh1
-rw-r--r--test/tst-update-dir-symlink.sh10
-rw-r--r--test/tst-update-symlink.sh1
-rw-r--r--test/tst-update.sh4
10 files changed, 77 insertions, 19 deletions
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"