summaryrefslogtreecommitdiff
path: root/test/helper.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/helper.sh')
-rw-r--r--test/helper.sh21
1 files changed, 20 insertions, 1 deletions
diff --git a/test/helper.sh b/test/helper.sh
index 539e270..86ff989 100644
--- a/test/helper.sh
+++ b/test/helper.sh
@@ -25,9 +25,28 @@ refute() {
return 0
}
+resolved_path() {
+ local original_path="$1"
+ local actual_path="$original_path"
+ local actual_basename="$(basename "$original_path")"
+
+ cd "$(dirname "$original_path")"
+
+ while [ -L "$actual_basename" ]; do
+ actual_path="$(readlink "$actual_basename")"
+ actual_basename="$(basename "$actual_path")"
+
+ cd "$(dirname "$actual_path")"
+ done
+
+ local current_directory="$(pwd -P)"
+
+ printf "%s/%s\n" "$current_directory" "$actual_basename"
+}
+
assert_linked() {
local from="$1" to="$2"
- local resolved="$(readlink -f "$from")"
+ local resolved="$(resolved_path "$from")"
assert "$from should be a symlink" -h "$from"
assert "$from should resolve to $to, resolved to $resolved" "$resolved" = "$to"