Check all constellation files for panics

Teaches the `etc/ci/check_no_panic.sh` script to handle directories,
so it can check all constellation files for panics.
This commit is contained in:
Aneesh Agrawal 2017-01-14 22:49:57 -05:00
parent d09bf70d22
commit 73485b8a32
2 changed files with 21 additions and 14 deletions

View file

@ -4,7 +4,7 @@
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# Make sure listed files do not use unwrap() or panic!()
# Make sure listed paths do not use unwrap() or panic!()
set -o errexit
set -o nounset
@ -13,14 +13,21 @@ set -o pipefail
# cd into repo root to make sure paths work in any case
cd "$(git rev-parse --show-toplevel)"
FILES=("components/compositing/compositor.rs"
"components/constellation/constellation.rs"
"components/constellation/pipeline.rs"
"ports/glutin/lib.rs"
"ports/glutin/window.rs")
# Each path can be either a single file or a directory
PATHS=(
"components/compositing/compositor.rs"
"components/constellation/"
"ports/glutin/lib.rs"
"ports/glutin/window.rs"
)
# make sure the files exist
ls -1 "${FILES[@]}"
# Make sure the paths exist
ls -1 "${PATHS[@]}"
# make sure the files do not contain "unwrap" or "panic!"
! grep --line-number --with-filename "unwrap(\|panic!(" "${FILES[@]}"
# Make sure the files do not contain "unwrap" or "panic!"
! grep \
--dereference-recursive \
--line-number \
--with-filename \
"unwrap(\|panic!(" \
"${PATHS[@]}"