tests: Fix assert_files_hardlinked
authorColin Walters <walters@verbum.org>
Thu, 29 Jun 2017 01:39:16 +0000 (21:39 -0400)
committerAtomic Bot <atomic-devel@projectatomic.io>
Thu, 29 Jun 2017 15:34:57 +0000 (15:34 +0000)
It was always succeeding because we were trying to stat the inode number, and
failing, and thus getting the empty string for both, which compared as true.

Regression from:
<https://github.com/ostreedev/ostree/commit/74e3581e>

Noticed this while working on
<https://github.com/ostreedev/ostree/pull/974>
and looking at the test results.

Closes: #976
Approved by: jlebon

tests/libtest.sh

index ee3f4af87be0178256d099be1e68bd4455b8bc39..6f33c5b54c4571e5901b98676b330d4e268237c4 100755 (executable)
@@ -117,15 +117,14 @@ else
 fi
 
 files_are_hardlinked() {
-    f1=$(stat -c %i $1)
-    f2=$(stat -c %i $2)
-    [ "$f1" == "$f2" ]
+    inode1=$(stat -c %i $1)
+    inode2=$(stat -c %i $2)
+    test -n "${inode1}" && test -n "${inode2}"
+    [ "${inode1}" == "${inode2}" ]
 }
 
 assert_files_hardlinked() {
-    f1=$(stat -c %i $1)
-    f2=$(stat -c %i $2)
-    if ! files_are_hardlinked "$f1" "$f2"; then
+    if ! files_are_hardlinked "$1" "$2"; then
         fatal "Files '$1' and '$2' are not hardlinked"
     fi
 }