From cf8fde1441c7e9eee252d2c584cf7e3807016249 Mon Sep 17 00:00:00 2001 From: Alex Crichton Date: Fri, 30 Dec 2016 18:54:05 -0800 Subject: [PATCH] rustbuild: Add more deps on android-copy-libs The android-copy-libs step is crucial for running tests on the Android target as it copies necessary scripts and such to the emulator. We must run that before running any tests there, but we erroneously only did it for compiletest test suites! --- src/bootstrap/check.rs | 4 ++++ src/bootstrap/step.rs | 17 ++++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/bootstrap/check.rs b/src/bootstrap/check.rs index ec0243908eda..9b576a590a9d 100644 --- a/src/bootstrap/check.rs +++ b/src/bootstrap/check.rs @@ -507,6 +507,10 @@ fn find_tests(dir: &Path, pub fn android_copy_libs(build: &Build, compiler: &Compiler, target: &str) { + if !target.contains("android") { + return + } + println!("Android copy libs to emulator ({})", target); build.run(Command::new("adb").arg("remount")); build.run(Command::new("adb").args(&["shell", "rm", "-r", ADB_TEST_DIR])); diff --git a/src/bootstrap/step.rs b/src/bootstrap/step.rs index 7bcfb06f210b..8f7ad465c24a 100644 --- a/src/bootstrap/step.rs +++ b/src/bootstrap/step.rs @@ -295,13 +295,7 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules { .dep(|s| s.name("libtest")) .dep(|s| s.name("tool-compiletest").target(s.host)) .dep(|s| s.name("test-helpers")) - .dep(move |s| { - if s.target.contains("android") { - s.name("android-copy-libs") - } else { - Step::noop() - } - }) + .dep(|s| s.name("android-copy-libs")) .default(mode != "pretty") // pretty tests don't run everywhere .run(move |s| { check::compiletest(build, &s.compiler(), s.target, mode, dir) @@ -343,6 +337,7 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules { .dep(|s| s.name("tool-compiletest").target(s.host)) .dep(|s| s.name("test-helpers")) .dep(|s| s.name("debugger-scripts")) + .dep(|s| s.name("android-copy-libs")) .run(move |s| check::compiletest(build, &s.compiler(), s.target, "debuginfo-gdb", "debuginfo")); } @@ -386,12 +381,14 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules { for (krate, path, _default) in krates("std_shim") { rules.test(&krate.test_step, path) .dep(|s| s.name("libtest")) + .dep(|s| s.name("android-copy-libs")) .run(move |s| check::krate(build, &s.compiler(), s.target, Mode::Libstd, TestKind::Test, Some(&krate.name))); } rules.test("check-std-all", "path/to/nowhere") .dep(|s| s.name("libtest")) + .dep(|s| s.name("android-copy-libs")) .default(true) .run(move |s| check::krate(build, &s.compiler(), s.target, Mode::Libstd, TestKind::Test, None)); @@ -400,12 +397,14 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules { for (krate, path, _default) in krates("std_shim") { rules.bench(&krate.bench_step, path) .dep(|s| s.name("libtest")) + .dep(|s| s.name("android-copy-libs")) .run(move |s| check::krate(build, &s.compiler(), s.target, Mode::Libstd, TestKind::Bench, Some(&krate.name))); } rules.bench("bench-std-all", "path/to/nowhere") .dep(|s| s.name("libtest")) + .dep(|s| s.name("android-copy-libs")) .default(true) .run(move |s| check::krate(build, &s.compiler(), s.target, Mode::Libstd, TestKind::Bench, None)); @@ -413,18 +412,21 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules { for (krate, path, _default) in krates("test_shim") { rules.test(&krate.test_step, path) .dep(|s| s.name("libtest")) + .dep(|s| s.name("android-copy-libs")) .run(move |s| check::krate(build, &s.compiler(), s.target, Mode::Libtest, TestKind::Test, Some(&krate.name))); } rules.test("check-test-all", "path/to/nowhere") .dep(|s| s.name("libtest")) + .dep(|s| s.name("android-copy-libs")) .default(true) .run(move |s| check::krate(build, &s.compiler(), s.target, Mode::Libtest, TestKind::Test, None)); for (krate, path, _default) in krates("rustc-main") { rules.test(&krate.test_step, path) .dep(|s| s.name("librustc")) + .dep(|s| s.name("android-copy-libs")) .host(true) .run(move |s| check::krate(build, &s.compiler(), s.target, Mode::Librustc, TestKind::Test, @@ -432,6 +434,7 @@ pub fn build_rules<'a>(build: &'a Build) -> Rules { } rules.test("check-rustc-all", "path/to/nowhere") .dep(|s| s.name("librustc")) + .dep(|s| s.name("android-copy-libs")) .default(true) .host(true) .run(move |s| check::krate(build, &s.compiler(), s.target,