]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
selftest: fix a flapping test
authorRalph Boehme <slow@samba.org>
Thu, 5 Dec 2019 09:38:17 +0000 (10:38 +0100)
committerRalph Boehme <slow@samba.org>
Thu, 5 Dec 2019 17:14:46 +0000 (17:14 +0000)
The previous approach of using ls | grep $NAME for testing whether the previous
directory removal succeeded will fail in case $NAME is a substring of any
directory entrie's name.

Eg

  NAME=tmp.123

and the directory contains an unrelated entry

  tmp.123456

Using allinfo instead should fix this.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
source3/script/tests/test_inherit_owner.sh

index 9f22a2c1cba99eed658837272171cbc7e901c99b..7e1333787aa550135eae40b4167f40a2cff89292 100755 (executable)
@@ -37,7 +37,7 @@ create_file() {
     local bname=$(basename $fname)
     touch $PREFIX/$bname
     $SMBCLIENT //$SERVER/$share -U $USERNAME%$PASSWORD -c "cd $rem_dirname; rm $bname" 2>/dev/null
-    $SMBCLIENT //$SERVER/$share -U $USERNAME%$PASSWORD -c "cd $rem_dirname; ls" 2>/dev/null | grep "$bname" && exit 1
+    $SMBCLIENT //$SERVER/$share -U $USERNAME%$PASSWORD -c "cd $rem_dirname; allinfo $bname" 2>/dev/null | grep "NT_STATUS_OBJECT_NAME_NOT_FOUND" || exit 1
     $SMBCLIENT //$SERVER/$share -U $USERNAME%$PASSWORD -c "lcd $PREFIX; cd $rem_dirname; put $bname" 2>/dev/null || exit 1
 }
 
@@ -47,7 +47,7 @@ create_dir() {
     local rem_dirname=$(dirname $dname)
     local bname=$(basename $dname)
     $SMBCLIENT //$SERVER/$share -U $USERNAME%$PASSWORD -c "cd $rem_dirname; rmdir $bname" 2>/dev/null
-    $SMBCLIENT //$SERVER/$share -U $USERNAME%$PASSWORD -c "cd $rem_dirname; ls" 2>/dev/null | grep "$dname" && exit 1
+    $SMBCLIENT //$SERVER/$share -U $USERNAME%$PASSWORD -c "cd $rem_dirname; allinfo $bname" 2>/dev/null | grep "NT_STATUS_OBJECT_NAME_NOT_FOUND" || exit 1
     $SMBCLIENT //$SERVER/$share -U $USERNAME%$PASSWORD -c "cd $rem_dirname; mkdir $bname" 2>/dev/null || exit 1
 }