summaryrefslogtreecommitdiff
path: root/rtems-coverage/coverage_cron
blob: d2a7b6ce4b1956cabdd489194318880bb09159a1 (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#! /bin/sh

vfile=`dirname $0`/VERSIONS-COVERAGE
if [ ! -r ${vfile} ] ; then
  echo VERSIONS-COVERAGE file not found
  exit 1
fi

source ${vfile}

if [ ! -d ${BASEDIR} ] ; then
  echo Have you set the BASEDIR in VERSIONS correctly?
  exit 1
fi

progname=${0##*/}        # fast basename hack for ksh, bash

RUNCOVERAGE=${COVBASE}/run_coverage

BSPS="erc32 leon2 leon3"
case ${RTEMS_VERSION} in
  4.6|4.7|4.8|4.9|4.10|4.11) ;;
  *)
    echo "ERROR -- UNKNOWN RTEMS VERSION ${RTEMS_VERSION}"
    exit 1
    ;;
esac

if [ `expr ${RTEMS_VERSION} \>= 4.9` -eq 0 ] ; then
  BSPS="${BSPS} edb7312 smdk2410 pc386 uC5282"
fi

if [ ${RTEMS_VERSION} = 4.10 -o ${RTEMS_VERSION} = 4.11 ] ; then
  BSPS="${BSPS} gumstix uC5282 qemuppc lm32_evr"
fi

echo VERSION: ${RTEMS_VERSION}
echo BSPs   : ${BSPS}

# Eventually it would be nice to figure out why some builds break
# when we do two in parallel.
do_parallel=no

${RUNCOVERAGE} update 
if [ ${do_parallel} = no ]; then
  for b in ${BSPS}
  do
    ${RUNCOVERAGE} ${b}_baseline
  done
else
  maxjobs=`/usr/bin/getconf _NPROCESSORS_ONLN`
  jobs=0
  for b in ${BSPS}
  do
    ${RUNCOVERAGE} ${b}_baseline &
    jobs=`expr ${jobs} + 1`
    if [ ${jobs} -eq ${maxjobs} ] ; then
      jobs=0
      wait
    fi
  done
fi
exit 0