]> git.lizzy.rs Git - rust.git/blob - ci/base-tests.sh
rustup https://github.com/rust-lang/rust/pull/62859
[rust.git] / ci / base-tests.sh
1 set -ex
2
3 echo "Running clippy base tests"
4
5 PATH=$PATH:./node_modules/.bin
6 if [ "$TRAVIS_OS_NAME" == "linux" ]; then
7   remark -f *.md -f doc/*.md > /dev/null
8 fi
9 # build clippy in debug mode and run tests
10 cargo build --features "debugging deny-warnings"
11 cargo test --features "debugging deny-warnings"
12 # for faster build, share target dir between subcrates
13 export CARGO_TARGET_DIR=`pwd`/target/
14 (cd clippy_lints && cargo test)
15 (cd rustc_tools_util && cargo test)
16 (cd clippy_dev && cargo test)
17
18 # make sure clippy can be called via ./path/to/cargo-clippy
19 (
20   cd clippy_workspace_tests
21   ../target/debug/cargo-clippy
22 )
23
24 # Perform various checks for lint registration
25 ./util/dev update_lints --check
26 ./util/dev --limit-stderr-length
27
28 # Check running clippy-driver without cargo
29 (
30   # Check sysroot handling
31   sysroot=$(./target/debug/clippy-driver --print sysroot)
32   test $sysroot = $(rustc --print sysroot)
33
34   if [ -z $OS_WINDOWS ]; then
35     desired_sysroot=/tmp
36   else
37     desired_sysroot=C:/tmp
38   fi
39   sysroot=$(./target/debug/clippy-driver --sysroot $desired_sysroot --print sysroot)
40   test $sysroot = $desired_sysroot
41
42   sysroot=$(SYSROOT=$desired_sysroot ./target/debug/clippy-driver --print sysroot)
43   test $sysroot = $desired_sysroot
44
45   # Make sure this isn't set - clippy-driver should cope without it
46   unset CARGO_MANIFEST_DIR
47
48   # Run a lint and make sure it produces the expected output. It's also expected to exit with code 1
49   # XXX How to match the clippy invocation in compile-test.rs?
50   ! ./target/debug/clippy-driver -Dwarnings -Aunused -Zui-testing --emit metadata --crate-type bin tests/ui/cstring.rs 2> cstring.stderr
51   diff <(sed -e 's,tests/ui,$DIR,' -e '/= help/d' cstring.stderr) tests/ui/cstring.stderr
52
53   # TODO: CLIPPY_CONF_DIR / CARGO_MANIFEST_DIR
54 )