blob: c39b3562fe410d6ddcd080508d3affc71aa042fa [file] [log] [blame]
Max15b05fe2017-10-20 16:07:06 +02001#!/bin/sh
2
3set -ex
4
Neels Hofmeyrc8ef7362017-10-23 15:10:00 +02005if [ -z "$MAKE" ]; then
6 set +x
7 echo "Error: you need to set \$MAKE before invoking, e.g. MAKE=make"
8 exit 1
9fi
10
Neels Hofmeyr229fa072017-10-27 22:40:30 +020011osmo-clean-workspace.sh
12
Neels Hofmeyrb82cc772018-06-09 05:32:42 +020013verify_value_string_arrays_are_terminated.py
Max15b05fe2017-10-20 16:07:06 +020014
Pau Espin Pedrol2d10ff22022-03-18 14:24:29 +010015# Validate enum fields in header are added to tlv_definition in source file (SYS#5891):
16
17verify_gsm0808_tlv_definition() {
18 set +x;
19 enums=$(grep "GSM0808_IE_" include/osmocom/gsm/protocol/gsm_08_08.h | grep "=" | awk '{ print $1 }')
20 counted_enums=$(for f in $enums; do printf "%-60s %s\n" "$f" "$(grep -c "\[$f\]" src/gsm/gsm0808.c)"; done)
21 missing_enums=$(echo "$counted_enums" | grep -v GSM0808_IE_RESERVED | grep "0$" || true)
22 if [ "x$missing_enums" != "x" ]; then
23 echo "Missing IEs in src/gsm/gsm0808.c!"
24 echo "$missing_enums"
25 exit 1
26 fi
27 set -x;
28}
29verify_gsm0808_tlv_definition
30
Neels Hofmeyr754e6872017-10-23 14:57:56 +020031prep_build() {
32 _src_dir="$1"
33 _build_dir="$2"
34
35 cd "$_src_dir"
36
Neels Hofmeyr229fa072017-10-27 22:40:30 +020037 # clean again before each build variant
38 osmo-clean-workspace.sh
Neels Hofmeyr754e6872017-10-23 14:57:56 +020039
40 autoreconf --install --force
41
42 mkdir -p "$_build_dir"
43 cd "$_build_dir"
44}
Maxe41ad4d2018-01-18 17:37:18 +010045
46run_make() {
47 $MAKE $PARALLEL_MAKE check || cat-testlogs.sh
48}