about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEric Huss <eric@huss.org>2018-05-04 08:46:30 -0700
committerEric Huss <eric@huss.org>2018-05-08 20:27:34 -0700
commit5128affbc482e65cc678745cd529e7e055b9cf8b (patch)
tree6be08e8b63b6ff81607965821f4e35904844281c
parentc166b0386888b253313e1e7e982a2a06cadaac8b (diff)
downloadrust-5128affbc482e65cc678745cd529e7e055b9cf8b.tar.gz
rust-5128affbc482e65cc678745cd529e7e055b9cf8b.zip
Fix update-references for tests within subdirectories.
Fixes #50438.

I'll make this more robust later for #49815.
-rwxr-xr-xsrc/test/ui/update-references.sh9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/test/ui/update-references.sh b/src/test/ui/update-references.sh
index 47a85352b00..00b4b5c5caa 100755
--- a/src/test/ui/update-references.sh
+++ b/src/test/ui/update-references.sh
@@ -26,6 +26,7 @@ if [[ "$1" == "--help" || "$1" == "-h" || "$1" == "" || "$2" == "" ]]; then
     echo "   $0 ../../../build/x86_64-apple-darwin/test/ui *.rs */*.rs"
 fi
 
+MYDIR=$(dirname $0)
 
 BUILD_DIR="$1"
 shift
@@ -33,13 +34,13 @@ shift
 shopt -s nullglob
 
 while [[ "$1" != "" ]]; do
-    MYDIR=$(dirname $1)
     for EXT in "stderr" "stdout" "fixed"; do
         for OUT_NAME in $BUILD_DIR/${1%.rs}.*$EXT; do
+            OUT_DIR=`dirname "$1"`
             OUT_BASE=`basename "$OUT_NAME"`
-            if ! (diff $OUT_NAME $MYDIR/$OUT_BASE >& /dev/null); then
-                echo updating $MYDIR/$OUT_BASE
-                cp $OUT_NAME $MYDIR
+            if ! (diff $OUT_NAME $MYDIR/$OUT_DIR/$OUT_BASE >& /dev/null); then
+                echo updating $MYDIR/$OUT_DIR/$OUT_BASE
+                cp $OUT_NAME $MYDIR/$OUT_DIR
             fi
         done
     done