pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/27535 )


Change subject: jenkins: Validate IEs are added to tlv_definition
......................................................................

jenkins: Validate IEs are added to tlv_definition

It was recently found that several IEs which were added in the header
file were not actually added to the tlv_definition, and hence the tlv
parser failed to decode them. Let's make sure we don't foget to add new
IEs in the future.

Related: SYS#5891
Change-Id: I1f6c274ea86b5803bbf1d845473b98078f46d1ad
---
M contrib/jenkins_common.sh
1 file changed, 16 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/35/27535/1

diff --git a/contrib/jenkins_common.sh b/contrib/jenkins_common.sh
index b86a479..eb1d3a7 100644
--- a/contrib/jenkins_common.sh
+++ b/contrib/jenkins_common.sh
@@ -12,6 +12,22 @@

 verify_value_string_arrays_are_terminated.py

+# Validate enum fields in header are added to tlv_definition in source file 
(SYS#5891):
+
+verify_gsm0808_tlv_definition() {
+    set +x;
+    enums=$(grep "GSM0808_IE_" include/osmocom/gsm/protocol/gsm_08_08.h | grep 
"=" | awk '{ print $1 }')
+    counted_enums=$(for f in $enums; do printf "%-60s %s\n" "$f" "$(grep -c 
"\[$f\]" src/gsm/gsm0808.c)"; done)
+    missing_enums=$(echo "$counted_enums" | grep -v GSM0808_IE_RESERVED | grep 
"0$" || true)
+    if [ "x$missing_enums" != "x" ]; then
+        echo "Missing IEs in src/gsm/gsm0808.c!"
+            echo "$missing_enums"
+        exit 1
+    fi
+    set -x;
+}
+verify_gsm0808_tlv_definition
+
 prep_build() {
     _src_dir="$1"
     _build_dir="$2"

--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/27535
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I1f6c274ea86b5803bbf1d845473b98078f46d1ad
Gerrit-Change-Number: 27535
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>
Gerrit-MessageType: newchange

Reply via email to