shellfiles/build_mercurial.sh.in
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 14 Nov 2016 23:43:14 +0000
branchjv
changeset 322 9ec2abb1218e
parent 159 40cdb9aa191d
permissions -rw-r--r--
Autoscale testcase-provided timeout to compensate for slooow machines Each test case has a timeout to guard against runaway tests. However on really slow machines the timeout us not big enough. To compensate for this, asses the "speed" of machine running tests and scale default timeout if machine is slower than some (arbitrary) norm. The speed assesment is done by measuring time to run (arbitrary) benchmark code. This has the advantage to reflect actual machine load, not only hardvare spec. However, we may need to play with these magic numbers to make it working. Generally a workaround.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
159
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
#!/bin/bash 
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
# Simple Unix shell script to build Mercurial using Jenkins CI
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
# Designed to run under Cygwin as well. 
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
PROJECT="Mercurial Support"
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
m4_include(common.sh.in)
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
# Checkout
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
function checkout {
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
    # Checkout stx
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
    if [ ! -d stx ]; then
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
      if ! cvs co stx; then
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
        error "CVS: Cannot checkout stx";
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
      fi
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    #else
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    #  (cd stx && cvs update -d)
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
    fi
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
    # Checkout stx:libscm
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
    repo="https://bitbucket.org/janvrany/stx-libscm"
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    if [ ! -d stx/libscm ]; then
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
        hg clone "$repo" stx/libscm || error "HG: cannot clone stx:libscm"
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
    else
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
        hg --cwd stx/libscm pull "$repo" || error "HG: cannot pull stx:libscm"
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
        hg --cwd stx/libscm update || error "HG: cannot update stx:libscm"
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
    fi
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
}
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
# Compile
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
function compile {
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
    TARGETS1="stx stx/libscm/common stx/libscm/mercurial stx/librun"
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    for target in $TARGETS1; do
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
      if ! (cd "$target" && mk); then
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
        echo "ERROR:  cannot $MAKE in $target"
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
        exit 3
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
      fi
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
    done
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
}
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
function runtests {
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    sunit "stx:libscm/mercurial"
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
}
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
# Now, call main
40cdb9aa191d Add support for generating build scripts using M4 preprocessor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
main $1 $2 $3