common/renameat2: use mktemp(1) to create temporary directory
authorLuís Henriques <lhenriques@suse.de>
Tue, 9 Nov 2021 17:55:55 +0000 (17:55 +0000)
committerEryu Guan <guaneryu@gmail.com>
Sun, 14 Nov 2021 11:24:41 +0000 (19:24 +0800)
Instead of using $TEST_DIR/$$, use the _correct_ way to create temporary
directories.  I've seen generic/626 failing with:

  QA output created by 626
  mkdir: cannot create directory '/media/test/471': File exists
  Silence is golden

which was likely due to another test that used the same directory name and
didn't do the clean-up.

Signed-off-by: Luís Henriques <lhenriques@suse.de>
Reviewed-by: Eryu Guan <guaneryu@gmail.com>
Signed-off-by: Eryu Guan <guaneryu@gmail.com>
common/renameat2

index 4d25d7cebf94c494f441c4f3b9a47008c9a863d7..9737dff54a2bb4f1018bdf2b7747da15cd16c49d 100644 (file)
@@ -105,14 +105,13 @@ _rename_tests()
 _require_renameat2()
 {
        local flags=$1
-       local rename_dir=$TEST_DIR/$$
+       local rename_dir=`mktemp -d -p $TEST_DIR`
        local cmd=""
 
        if test ! -x $here/src/renameat2; then
                _notrun "renameat2 binary not found"
        fi
 
-       mkdir $rename_dir
        touch $rename_dir/foo
        case $flags in
        "noreplace")