mirror of
https://github.com/larsbrinkhoff/awesome-cpus
synced 2025-04-11 07:46:47 +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