From dd777fe89fa868321a64d893a88cc9a2bbbe8618 Mon Sep 17 00:00:00 2001 From: Collin Funk Date: Sun, 7 Jun 2026 22:27:18 -0700 Subject: [PATCH] tests: install: check the behavior when the source is the destination * tests/install/basic-1.sh: Add the test case. --- tests/install/basic-1.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/install/basic-1.sh b/tests/install/basic-1.sh index 03ceee20c..99434ccaa 100755 --- a/tests/install/basic-1.sh +++ b/tests/install/basic-1.sh @@ -27,6 +27,21 @@ rm -rf $dir $file || framework_failure_ mkdir -p $dir || framework_failure_ echo foo > $file || framework_failure_ +# Check 'install' when the given source and destination are the same. +# Ensure that no backups are created. +cat <exp || framework_failure_ +ginstall: '$file' and '$file' are the same file +EOF +for backup in '' off t nil never; do + test -n "$backup" && backup=--backup=$backup + returns_ 1 ginstall $backup $file $file >out 2>err || fail=1 + compare /dev/null out || fail=1 + compare exp err || fail=1 + set -- "$file"* + test -f "$1" || set -- + test $# -eq 1 || fail=1 +done + ginstall $file $dir || fail=1 # Make sure the source file still exists. test -f $file || fail=1