mirror of
https://github.com/larsbrinkhoff/awesome-cpus
synced 2025-04-18 11:02:42 +03:00
Add a few automated tests.
This commit is contained in:
parent
d45e89e7ac
commit
563fc66cbd
1
.travis.yml
Normal file
1
.travis.yml
Normal file
@ -0,0 +1 @@
|
|||||||
|
script: sh tests.sh
|
45
tests.sh
Normal file
45
tests.sh
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
UPSTREAM=https://github.com/larsbrinkhoff/awesome-cpus
|
||||||
|
MAX_DIR_SIZE=27000
|
||||||
|
|
||||||
|
error() {
|
||||||
|
echo
|
||||||
|
echo "ERROR: $1"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
test_directory_size() {
|
||||||
|
echo -n "Checking that no directory is too large... "
|
||||||
|
|
||||||
|
git submodule deinit . > /dev/null
|
||||||
|
du -s * | while read i; do
|
||||||
|
set $i
|
||||||
|
if test "$1" -gt $MAX_DIR_SIZE; then
|
||||||
|
error "The $2 directory is too large"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
echo OK
|
||||||
|
}
|
||||||
|
|
||||||
|
directories_in_commit() {
|
||||||
|
git show --name-only --format=format: "$1" | grep / | wc -l
|
||||||
|
}
|
||||||
|
|
||||||
|
test_commits() {
|
||||||
|
echo -n "Checking that each commit touches only one directory... "
|
||||||
|
|
||||||
|
git remote add github-upstream $UPSTREAM
|
||||||
|
git log --format="format:%H%n" origin/master..HEAD | while read i; do
|
||||||
|
if test `directories_in_commit "$i"` -gt 1; then
|
||||||
|
h=`echo "$i" | cut -c1-7`
|
||||||
|
error "Commit $h touches more than one directory."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
git remote remove github-upstream
|
||||||
|
|
||||||
|
echo OK
|
||||||
|
}
|
||||||
|
|
||||||
|
test_directory_size
|
||||||
|
test_commits
|
||||||
|
|
Loading…
Reference in New Issue
Block a user