summaryrefslogtreecommitdiff
path: root/tools/proof
blob: 3becb1c992582e5b2564bdc8738b28d5e51743a9 (plain)
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
32
33
34
35
36
37
38
#!/bin/bash

set -e

cd ~/src/ledger

VERSION=$(git describe --all --long)

if [[ -f ~/Products/last-proofed && \
      $(< ~/Products/last-proofed) = $VERSION ]]; then
    echo "No need to run tools/proof again"
    exit 0
fi

rm -fr ~/Products/ledger-proof

time nice -n 20 \
    ./acprep --enable-doxygen --universal -j16 --gcc45 --warn proof 2>&1 | \
    tee ~/Desktop/proof.log

if egrep -q '(ERROR|CRITICAL)' ~/Desktop/proof.log; then
    if [[ "$1" = "--alert" ]]; then
        notify "Ledger proof build FAILED"
    else
        echo "Ledger proof build FAILED"
        exit 1
    fi
else
    echo $VERSION > ~/Products/last-proofed
    mv ~/Desktop/proof.log /tmp

    cd ~/Products/ledger-proof/debug; make docs
    cd ~/Products/ledger-proof/gcov;  make report

    echo "Ledger proof build succeeded"
fi

exit 0