]> git.lizzy.rs Git - rust.git/blobdiff - ci/base-tests.sh
tests: fix formatting and update test output
[rust.git] / ci / base-tests.sh
index 9b73263c24a7dd5bc390f451354aee47352f6212..b69e86ad3ac50f9df6700f96c433101321edfef3 100755 (executable)
@@ -20,24 +20,44 @@ fi
 # build clippy in debug mode and run tests
 cargo build --features debugging
 cargo test --features debugging
+# for faster build, share target dir between subcrates
+export CARGO_TARGET_DIR=`pwd`/target/
 cd clippy_lints && cargo test && cd ..
 cd rustc_tools_util && cargo test && cd ..
-# check that the lint lists are up-to-date
-./util/update_lints.py -c
-
-CLIPPY="`pwd`/target/debug/cargo-clippy clippy"
-# run clippy on its own codebase...
-${CLIPPY} --all-targets --all-features -- -D clippy::all -D clippy::internal
-# ... and some test directories
-for dir in clippy_workspace_tests clippy_workspace_tests/src clippy_workspace_tests/subcrate clippy_workspace_tests/subcrate/src clippy_dev rustc_tools_util
-do
-    cd ${dir}
-    ${CLIPPY} -- -D clippy::all
-    cd -
+cd clippy_dev && cargo test && cd ..
+
+# make sure clippy can be called via ./path/to/cargo-clippy
+cd clippy_workspace_tests
+../target/debug/cargo-clippy
+cd ..
+
+# Perform various checks for lint registration
+./util/dev update_lints --check
+cargo +nightly fmt --all -- --check
+
+# make sure tests are formatted
+
+# some lints are sensitive to formatting, exclude some files
+tests_need_reformatting="false"
+# switch to nightly
+rustup default nightly
+# avoid loop spam and allow cmds with exit status != 0
+set +ex
+
+for file in `find tests -not -path "tests/ui/methods.rs" -not -path "tests/ui/format.rs" -not -path "tests/ui/formatting.rs" -not -path "tests/ui/empty_line_after_outer_attribute.rs" -not -path "tests/ui/double_parens.rs" -not -path "tests/ui/doc.rs" -not -path "tests/ui/unused_unit.rs" | grep "\.rs$"` ; do
+  rustfmt ${file} --check
+  if [ $? -ne 0 ]; then
+    echo "${file} needs reformatting!"
+    tests_need_reformatting="true"
+  fi
 done
 
+set -ex # reset
+
+if [ "${tests_need_reformatting}" == "true" ] ; then
+    echo "Tests need reformatting!"
+    exit 2
+fi
 
-# test --manifest-path
-${CLIPPY} --manifest-path=clippy_workspace_tests/Cargo.toml -- -D clippy::all
-cd clippy_workspace_tests/subcrate && ${CLIPPY} --manifest-path=../Cargo.toml -- -D clippy::all && cd ../..
-set +x
+# switch back to master
+rustup default master