summaryrefslogtreecommitdiff
path: root/posts/2009-04-14-git-and-prove.org
blob: 1048f562cf678f42084963608edb55879422922b (plain) (blame)
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
A little trick to force you to run your tests before a commit:

in a repositorie, create the following file *.git/hooks/pre-commit* with
this content:

#+BEGIN_SRC sh
    #!/bin/sh
    if [ -d t ]; then
        res=`prove t`
        if [ $? -gt 0 ]; then
        echo "tests fails"
        exit 1
        fi
    fi
    if [ -d xt ]; then
        res=`prove xt`
        if [ $? -gt 0 ]; then
        echo "tests fails"
        exit 1
        fi
    fi
#+END_SRC

and don't forget to chmod with +x.

Now, when you will do your next commit, your test suit will be executed.
If the tests fails, the commit will be rejected.