Fix race in libstdc++ testsuite
authorMaxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
Sun, 19 Oct 2014 21:07:29 +0000 (21:07 +0000)
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>
Sun, 19 Oct 2014 21:07:29 +0000 (21:07 +0000)
* testsuite/lib/libstdc++.exp (v3-copy-file): New proc split from ...
(v3-copy-files): ... this.  Update.
(check_v3_target_fileio): Fix race on cin_unget-1.txt file.

From-SVN: r216444

libstdc++-v3/ChangeLog
libstdc++-v3/testsuite/lib/libstdc++.exp

index bc8468fa3816f61b4a1874bd8ef4e831ad2924c6..fcaaea010cef4c3f0506b23b9e08c41ed09c7d04 100644 (file)
@@ -1,3 +1,9 @@
+2014-10-19  Maxim Kuvyrkov  <maxim.kuvyrkov@linaro.org>
+
+       * testsuite/lib/libstdc++.exp (v3-copy-file): New proc split from ...
+       (v3-copy-files): ... this.  Update.
+       (check_v3_target_fileio): Fix race on cin_unget-1.txt file.
+
 2014-10-17  Jonathan Wakely  <jwakely@redhat.com>
 
        * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
index f14d1a7d2f5c831886f108291be57145449426fa..3d9913b1a053aac84230c01051070e40dcf3cc6c 100644 (file)
@@ -65,19 +65,24 @@ proc v3track { var n } {
     verbose "++ $var is $val" $n
 }
 
+# Copy file to the target.
+proc v3-copy-file {src dst} {
+    if { [catch { set symlink [file readlink $src] } x] } then {
+       remote_download target $src $dst
+    } else {
+       if { [regexp "^/" "$symlink"] } then {
+           remote_download target $symlink $dst
+       } else {
+           set dirname [file dirname $f]
+           remote_download target $dirname/$symlink $dst
+       }
+    }
+}
+
 # Called by v3-init below.  "Static" to this file.
 proc v3-copy-files {srcfiles} {
     foreach f $srcfiles {
-        if { [catch { set symlink [file readlink $f] } x] } then {
-           remote_download target $f
-        } else {
-            if { [regexp "^/" "$symlink"] } then {
-               remote_download target $symlink
-            } else {
-                set dirname [file dirname $f]
-               remote_download target $dirname/$symlink
-            }
-        }
+       v3-copy-file $f [file tail $f]
     }
 }
 
@@ -690,8 +695,8 @@ proc check_v3_target_fileio { } {
        # the file functions
        set src fileio[pid].cc
        set exe fileio[pid].x
-       set testfile "cin_unget-1.txt"
-       v3-copy-files "$srcdir/data/$testfile"
+       set testfile "cin_unget-1.[pid].txt"
+       v3-copy-file "$srcdir/data/cin_unget-1.txt" "$testfile"
 
        set f [open $src "w"]
        puts $f "#include <sys/types.h>"