forked from inspirehep/inspire-schemas
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrun-tests.sh
executable file
·66 lines (60 loc) · 2.06 KB
/
run-tests.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/bash
# This file is part of INSPIRE-SCHEMAS.
# Copyright (C) 2016, 2017 CERN.
#
# INSPIRE-SCHEMAS is free software; you can redistribute it
# and/or modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# INSPIRE-SCHEMAS is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with INSPIRE-SCHEMAS; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA 02111-1307, USA.
#
# In applying this license, CERN does not
# waive the privileges and immunities granted to it by virtue of its status
# as an Intergovernmental Organization or submit itself to any jurisdiction.
clean_dir() {
local to_clean="${1?No dir to clean passed}"
[[ -d "$to_clean" ]] \
&& [[ "$to_clean" != "/" ]] \
&& rm -rf "$to_clean"
return 0
}
check_prettified() {
local dir_to_check="${1?No dir to check passed}"
local tmpdir="$(mktemp -d 'Prettified_check.XXXXX' --tmpdir)"
trap "clean_dir '$tmpdir'" TERM EXIT
cp -a "$dir_to_check" "$tmpdir/"
scripts/prettify_json.sh "$tmpdir"
diff \
--side-by-side \
--recursive \
--brief \
"$tmpdir/${dir_to_check##*/}" "$dir_to_check"
res="$?"
if [[ "$res" != "0" ]]; then
echo "PRETTIFY::ERROR:: Found unprettified json files, please run" \
"the scripts/prettify_json.sh script on the repo to fix."
fi
return "$res"
}
isort -rc -c --skip docs/conf.py -df **/*.py && \
pytest \
--pep8 \
--cov=inspire_schemas \
--cov-report=term-missing \
--capture=sys \
-vv \
"$@" \
tests \
inspire_schemas && \
sphinx-build -qnN docs docs/_build/html && \
sphinx-build -qnN -b doctest docs docs/_build/doctest && \
check_prettified "${0%/*}"