about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy@goop.org>2019-01-26 18:24:45 -0800
committerJeremy Fitzhardinge <jeremy@goop.org>2019-02-02 19:35:06 -0800
commitf0131fbab6331eb44d88c94783be2ac9b87f8b06 (patch)
tree76f7f4c9ac72e20c5f38923903cc67defbe05222
parentb07f1b097493809045c92bb3ca09b5792310e5a5 (diff)
downloadrust-f0131fbab6331eb44d88c94783be2ac9b87f8b06.tar.gz
rust-f0131fbab6331eb44d88c94783be2ac9b87f8b06.zip
Add a CI test for cargoless use of clippy-driver
-rwxr-xr-xci/base-tests.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/ci/base-tests.sh b/ci/base-tests.sh
index 17eec3a4149..9b80960211d 100755
--- a/ci/base-tests.sh
+++ b/ci/base-tests.sh
@@ -25,6 +25,31 @@ export CARGO_TARGET_DIR=`pwd`/target/
 ./util/dev update_lints --check
 cargo +nightly fmt --all -- --check
 
+# Check running clippy-driver without cargo
+(
+  export LD_LIBRARY_PATH=$(rustc --print sysroot)/lib
+
+  # Check sysroot handling
+  sysroot=$(./target/debug/clippy-driver --print sysroot)
+  test $sysroot = $(rustc --print sysroot)
+
+  sysroot=$(./target/debug/clippy-driver --sysroot /tmp --print sysroot)
+  test $sysroot = /tmp
+
+  sysroot=$(SYSROOT=/tmp ./target/debug/clippy-driver --print sysroot)
+  test $sysroot = /tmp
+
+  # Make sure this isn't set - clippy-driver should cope without it
+  unset CARGO_MANIFEST_DIR
+
+  # Run a lint and make sure it produces the expected output. It's also expected to exit with code 1
+  # XXX How to match the clippy invocation in compile-test.rs?
+  ! ./target/debug/clippy-driver -Dwarnings -Aunused -Zui-testing --emit metadata --crate-type bin tests/ui/cstring.rs 2> cstring.stderr
+  diff <(sed -e 's,tests/ui,$DIR,' -e '/= help/d' cstring.stderr) tests/ui/cstring.stderr
+
+  # TODO: CLIPPY_CONF_DIR / CARGO_MANIFEST_DIR
+)
+
 # make sure tests are formatted
 
 # some lints are sensitive to formatting, exclude some files