mirror of
https://github.com/saymrwulf/zipline.git
synced 2026-05-14 20:58:10 +00:00
33 lines
908 B
Bash
Executable file
33 lines
908 B
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# An hook script to verify linting and passing unit tests.
|
|
#
|
|
# Called by "git commit" with no arguments. The hook should
|
|
# exit with non-zero status after issuing an appropriate message if
|
|
# it wants to stop the commit.
|
|
#
|
|
# To enable this hook, copy or symlink to your repo's
|
|
# ".git/hooks/pre-commit".
|
|
#
|
|
# Please read the following as it will execute on your machine on each commit.
|
|
|
|
set -e
|
|
|
|
# stash everything that wasn't just staged
|
|
# so that we are only testing the staged code
|
|
stash_result=$(git stash --keep-index)
|
|
|
|
# Run flake8 linting
|
|
flake8 zipline tests
|
|
# Run unit tests
|
|
nosetests -x
|
|
|
|
# restore unstaged code
|
|
# N.B. this won't run if linting or unit tests fail
|
|
# But if either fail, it's probably best to have only the offending
|
|
# staged commits 'active', anyway.
|
|
stash_result=$(git stash --keep-index)
|
|
if [ "$stash_result" != "No local changes to save" ]
|
|
then
|
|
git stash pop -q
|
|
fi
|