[PATCH] test/test-lib.sh: execute basename(1)s lazier in test_expect_equal_file ()

Tomi Ollila tomi.ollila at iki.fi
Sun Oct 9 13:36:07 PDT 2016


Moved the 2 basename(1) executions to the test failure branch in
test_expect_equal_file ().

The output of basename(1) executions in function test_expect_equal_file ()
are only used when tests fails -- when all tests pass these 2 basename(1)
executions are no longer done at all.
---
 test/test-lib.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/test/test-lib.sh b/test/test-lib.sh
index bda8a80..397408a 100644
--- a/test/test-lib.sh
+++ b/test/test-lib.sh
@@ -618,15 +618,15 @@ test_expect_equal_file ()
 	error "bug in the test script: not 2 or 3 parameters to test_expect_equal"
 
 	file1="$1"
-	basename1=`basename "$file1"`
 	file2="$2"
-	basename2=`basename "$file2"`
 	if ! test_skip "$test_subtest_name"
 	then
 		if diff -q "$file1" "$file2" >/dev/null ; then
 			test_ok_
 		else
 			testname=$this_test.$test_count
+			basename1=`basename "$file1"`
+			basename2=`basename "$file2"`
 			cp "$file1" "$testname.$basename1"
 			cp "$file2" "$testname.$basename2"
 			test_failure_ "$(diff -u "$testname.$basename1" "$testname.$basename2")"
-- 
2.7.4



More information about the notmuch mailing list