blob: 82dd471a0238a4b60464b3a0c497c626f1431c1d [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
Pau Espin Pedrolb0c2f752022-04-04 19:37:19 +020031verify_gsm_08_05_tlv_definition() {
32 set +x;
33 enums=$(grep "RSL_IE_" include/osmocom/gsm/protocol/gsm_08_58.h | grep -e "=" -e ",$" | awk '{ print $1 }' | tr -d ',')
34 counted_enums=$(for f in $enums; do printf "%-60s %s\n" "$f" "$(grep -c "\[$f\]" src/gsm/rsl.c)"; done)
35 # TODO: Add RSL_IE_SIEMENS_* to the tlv struct definitions.
36 missing_enums=$(echo "$counted_enums" | grep -v RSL_IE_SIEMENS |grep "0$" || true)
37 if [ "x$missing_enums" != "x" ]; then
38 echo "Missing IEs in src/gsm/rsl.c!"
39 echo "$missing_enums"
40 exit 1
41 fi
42 set -x;
43}
44verify_gsm_08_05_tlv_definition
45
Neels Hofmeyr754e6872017-10-23 14:57:56 +020046prep_build() {
47 _src_dir="$1"
48 _build_dir="$2"
49
50 cd "$_src_dir"
51
Neels Hofmeyr229fa072017-10-27 22:40:30 +020052 # clean again before each build variant
53 osmo-clean-workspace.sh
Neels Hofmeyr754e6872017-10-23 14:57:56 +020054
55 autoreconf --install --force
56
57 mkdir -p "$_build_dir"
58 cd "$_build_dir"
59}
Maxe41ad4d2018-01-18 17:37:18 +010060
61run_make() {
62 $MAKE $PARALLEL_MAKE check || cat-testlogs.sh
63}