forked from EFForg/https-everywhere
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest-ruleset-coverage.sh
More file actions
executable file
·31 lines (31 loc) · 1.27 KB
/
test-ruleset-coverage.sh
File metadata and controls
executable file
·31 lines (31 loc) · 1.27 KB
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
#!/bin/sh
#
# Test that all rulesets modified after a certain date have sufficient test
# coverage, according to the ruleset checker.
#
cd $(dirname $0)
TMP=`mktemp`
trap 'rm "$TMP"' EXIT
if ! [ -d https-everywhere-checker ] ; then
echo "Submodule https-everywhere-checker is missing. Run"
echo "./install-dev-dependencies.sh"
exit 1
fi
# Git log gives us all changed files. Pipe that through ls to eliminate files
# that have been deleted.
if ! git log --name-only --date=local --since="2015-02-12 6:00" --pretty=format: \
src/chrome/content/rules/ | sort -u | \
xargs ls 2>/dev/null | xargs python2.7 https-everywhere-checker/src/https_everywhere_checker/check_rules.py \
https-everywhere-checker/coverage.checker.config; then
echo "Ruleset test coverage was insufficient."
echo ""
echo "Under the new ruleset testing rules (February 2015), any modified ruleset"
echo "must have sufficient test coverage. You can often improve test coverage by"
echo "adding <test url='...' /> tags, or by restructuring the rule to avoid"
echo "wildcard <target> tags. See these documents:"
echo "https://github.com/EFForg/https-everywhere/blob/master/ruleset-testing.md"
echo "https://github.com/EFForg/https-everywhere/blob/master/ruleset-style.md"
exit 1
else
exit 0
fi