From 2ad663c1cd7ac8df9eea010cb0f3f40ed6d8707a Mon Sep 17 00:00:00 2001 From: David Wood Date: Thu, 9 Aug 2018 10:58:16 +0200 Subject: [PATCH] Normalize test build directory and root build directory. --- src/test/ui/crateresolve1.nll.stderr | 6 +++--- src/test/ui/crateresolve1.stderr | 6 +++--- src/test/ui/nolink-with-link-args.nll.stderr | 2 +- src/test/ui/nolink-with-link-args.stderr | 2 +- src/tools/compiletest/src/runtest.rs | 9 +++++++++ 5 files changed, 17 insertions(+), 8 deletions(-) diff --git a/src/test/ui/crateresolve1.nll.stderr b/src/test/ui/crateresolve1.nll.stderr index c655d657aa00..fb5321eebf8b 100644 --- a/src/test/ui/crateresolve1.nll.stderr +++ b/src/test/ui/crateresolve1.nll.stderr @@ -5,9 +5,9 @@ LL | extern crate crateresolve1; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: candidates: - crate `crateresolve1`: /home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/test/ui/crateresolve1.nll/auxiliary/libcrateresolve1-3.so - crate `crateresolve1`: /home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/test/ui/crateresolve1.nll/auxiliary/libcrateresolve1-1.so - crate `crateresolve1`: /home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/test/ui/crateresolve1.nll/auxiliary/libcrateresolve1-2.so + crate `crateresolve1`: $TEST_BUILD_DIR/crateresolve1.nll/auxiliary/libcrateresolve1-1.so + crate `crateresolve1`: $TEST_BUILD_DIR/crateresolve1.nll/auxiliary/libcrateresolve1-2.so + crate `crateresolve1`: $TEST_BUILD_DIR/crateresolve1.nll/auxiliary/libcrateresolve1-3.so error[E0463]: can't find crate for `crateresolve1` --> $DIR/crateresolve1.rs:16:1 diff --git a/src/test/ui/crateresolve1.stderr b/src/test/ui/crateresolve1.stderr index edd9a0059320..a1105475d097 100644 --- a/src/test/ui/crateresolve1.stderr +++ b/src/test/ui/crateresolve1.stderr @@ -5,9 +5,9 @@ LL | extern crate crateresolve1; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ | = note: candidates: - crate `crateresolve1`: /home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/test/ui/crateresolve1/auxiliary/libcrateresolve1-3.so - crate `crateresolve1`: /home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/test/ui/crateresolve1/auxiliary/libcrateresolve1-1.so - crate `crateresolve1`: /home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/test/ui/crateresolve1/auxiliary/libcrateresolve1-2.so + crate `crateresolve1`: $TEST_BUILD_DIR/crateresolve1/auxiliary/libcrateresolve1-1.so + crate `crateresolve1`: $TEST_BUILD_DIR/crateresolve1/auxiliary/libcrateresolve1-2.so + crate `crateresolve1`: $TEST_BUILD_DIR/crateresolve1/auxiliary/libcrateresolve1-3.so error[E0463]: can't find crate for `crateresolve1` --> $DIR/crateresolve1.rs:16:1 diff --git a/src/test/ui/nolink-with-link-args.nll.stderr b/src/test/ui/nolink-with-link-args.nll.stderr index 050c604e1782..c82dbf99f938 100644 --- a/src/test/ui/nolink-with-link-args.nll.stderr +++ b/src/test/ui/nolink-with-link-args.nll.stderr @@ -1,6 +1,6 @@ error: linking with `ld` failed: exit code: 1 | - = note: "ld" "-L" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/test/ui/nolink-with-link-args.nll/a.nolink_with_link_args0-317d481089b8c8fe83113de504472633.rs.rcgu.o" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/test/ui/nolink-with-link-args.nll/a.nolink_with_link_args1-317d481089b8c8fe83113de504472633.rs.rcgu.o" "-o" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/test/ui/nolink-with-link-args.nll/a" "--gc-sections" "-pie" "-zrelro" "-znow" "-O1" "-L" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/test/ui/nolink-with-link-args.nll/auxiliary" "-L" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--start-group" "-L" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-lstd-41f43a30bc296e4f" "--end-group" "-Bstatic" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-ce73107aecc35a63.rlib" "-Bdynamic" "-ldl" "-lrt" "-lpthread" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" "-Wl,-rpath,$ORIGIN/../../../stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-rpath,/home/david/projects/rust/workdirs/rust1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,--enable-new-dtags" "aFdEfSeVEEE" + = note: "ld" "-L" "$BUILD_DIR/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "$TEST_BUILD_DIR/nolink-with-link-args.nll/a.nolink_with_link_args0-317d481089b8c8fe83113de504472633.rs.rcgu.o" "$TEST_BUILD_DIR/nolink-with-link-args.nll/a.nolink_with_link_args1-317d481089b8c8fe83113de504472633.rs.rcgu.o" "-o" "$TEST_BUILD_DIR/nolink-with-link-args.nll/a" "--gc-sections" "-pie" "-zrelro" "-znow" "-O1" "-L" "$BUILD_DIR/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "$TEST_BUILD_DIR/nolink-with-link-args.nll/auxiliary" "-L" "$BUILD_DIR/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--start-group" "-L" "$BUILD_DIR/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-lstd-41f43a30bc296e4f" "--end-group" "-Bstatic" "$BUILD_DIR/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-ce73107aecc35a63.rlib" "-Bdynamic" "-ldl" "-lrt" "-lpthread" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" "-Wl,-rpath,$ORIGIN/../../../stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-rpath,/home/david/projects/rust/workdirs/rust1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,--enable-new-dtags" "aFdEfSeVEEE" = note: ld: unrecognized option '-Wl,-rpath,$ORIGIN/../../../stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib' ld: use the --help option for usage information diff --git a/src/test/ui/nolink-with-link-args.stderr b/src/test/ui/nolink-with-link-args.stderr index a80d1dce485a..cdc1d24c527f 100644 --- a/src/test/ui/nolink-with-link-args.stderr +++ b/src/test/ui/nolink-with-link-args.stderr @@ -1,6 +1,6 @@ error: linking with `ld` failed: exit code: 1 | - = note: "ld" "-L" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/test/ui/nolink-with-link-args/a.nolink_with_link_args0-317d481089b8c8fe83113de504472633.rs.rcgu.o" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/test/ui/nolink-with-link-args/a.nolink_with_link_args1-317d481089b8c8fe83113de504472633.rs.rcgu.o" "-o" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/test/ui/nolink-with-link-args/a" "--gc-sections" "-pie" "-zrelro" "-znow" "-O1" "-L" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/test/ui/nolink-with-link-args/auxiliary" "-L" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--start-group" "-L" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-lstd-41f43a30bc296e4f" "--end-group" "-Bstatic" "/home/david/projects/rust/workdirs/rust1/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-ce73107aecc35a63.rlib" "-Bdynamic" "-ldl" "-lrt" "-lpthread" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" "-Wl,-rpath,$ORIGIN/../../../stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-rpath,/home/david/projects/rust/workdirs/rust1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,--enable-new-dtags" "aFdEfSeVEEE" + = note: "ld" "-L" "$BUILD_DIR/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "$TEST_BUILD_DIR/nolink-with-link-args/a.nolink_with_link_args0-317d481089b8c8fe83113de504472633.rs.rcgu.o" "$TEST_BUILD_DIR/nolink-with-link-args/a.nolink_with_link_args1-317d481089b8c8fe83113de504472633.rs.rcgu.o" "-o" "$TEST_BUILD_DIR/nolink-with-link-args/a" "--gc-sections" "-pie" "-zrelro" "-znow" "-O1" "-L" "$BUILD_DIR/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "$TEST_BUILD_DIR/nolink-with-link-args/auxiliary" "-L" "$BUILD_DIR/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--start-group" "-L" "$BUILD_DIR/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-lstd-41f43a30bc296e4f" "--end-group" "-Bstatic" "$BUILD_DIR/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-ce73107aecc35a63.rlib" "-Bdynamic" "-ldl" "-lrt" "-lpthread" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" "-Wl,-rpath,$ORIGIN/../../../stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-rpath,/home/david/projects/rust/workdirs/rust1/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,--enable-new-dtags" "aFdEfSeVEEE" = note: ld: unrecognized option '-Wl,-rpath,$ORIGIN/../../../stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib' ld: use the --help option for usage information diff --git a/src/tools/compiletest/src/runtest.rs b/src/tools/compiletest/src/runtest.rs index 56cf553dc820..af2108d7b88e 100644 --- a/src/tools/compiletest/src/runtest.rs +++ b/src/tools/compiletest/src/runtest.rs @@ -2918,6 +2918,15 @@ impl<'test> TestCx<'test> { }; normalized = normalized.replace(&src_dir_str, "$SRC_DIR"); + // Paths into the build directory + let test_build_dir = &self.config.build_base; + let parent_build_dir = test_build_dir.parent().unwrap().parent().unwrap().parent().unwrap(); + + // eg. /home/user/rust/build/x86_64-unknown-linux-gnu/test/ui + normalized = normalized.replace(test_build_dir.to_str().unwrap(), "$TEST_BUILD_DIR"); + // eg. /home/user/rust/build + normalized = normalized.replace(&parent_build_dir.to_str().unwrap(), "$BUILD_DIR"); + if json { // escaped newlines in json strings should be readable // in the stderr files. There's no point int being correct,