falconia has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/libosmocore/+/37841?usp=email )


Change subject: tests: add unit test for osmo_efr_sid_classify()
......................................................................

tests: add unit test for osmo_efr_sid_classify()

The bit patterns used to construct this unit test have been
generated here:

https://www.freecalypso.org/hg/vband-misc/file/tip/efr-sid

This same set of test patterns has also been fed via TCH DL
to TI Calypso DSP and via TCH UL to Nokia InSite BTS; both of
these pre-existing historical implementations of TCH Rx produce
SID classifications that are identical to the expectations of
this unit test, providing further assurance of correctness.

Related: OS#6538
Change-Id: I5357c10d40dcca1564e45cba5914ff150fa83a4f
---
M tests/Makefile.am
A tests/codec/codec_efr_sid_test.c
A tests/codec/codec_efr_sid_test.in
A tests/codec/codec_efr_sid_test.ok
M tests/testsuite.at
5 files changed, 469 insertions(+), 1 deletion(-)



  git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/41/37841/1

diff --git a/tests/Makefile.am b/tests/Makefile.am
index d458464..c82e924 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -26,7 +26,8 @@
                 abis/abis_test endian/endian_test sercomm/sercomm_test \
                 prbs/prbs_test gsm23003/gsm23003_test                  \
                 gsm23236/gsm23236_test                                 \
-                codec/codec_ecu_fr_test codec/codec_hr_sid_test        \
+                codec/codec_ecu_fr_test codec/codec_efr_sid_test       \
+                codec/codec_hr_sid_test                                \
                 timer/clk_override_test                                \
                 oap/oap_client_test gsm29205/gsm29205_test             \
                 logging/logging_vty_test                               \
@@ -266,6 +267,9 @@
 codec_codec_ecu_fr_test_SOURCES = codec/codec_ecu_fr_test.c
 codec_codec_ecu_fr_test_LDADD = $(top_builddir)/src/codec/libosmocodec.la 
$(LDADD)

+codec_codec_efr_sid_test_SOURCES = codec/codec_efr_sid_test.c
+codec_codec_efr_sid_test_LDADD = $(top_builddir)/src/codec/libosmocodec.la 
$(LDADD)
+
 codec_codec_hr_sid_test_SOURCES = codec/codec_hr_sid_test.c
 codec_codec_hr_sid_test_LDADD = $(top_builddir)/src/codec/libosmocodec.la 
$(LDADD)

@@ -442,6 +446,7 @@
              loggingrb/logging_test.err        strrb/strrb_test.ok             
\
              codec/codec_test.ok \
              codec/codec_ecu_fr_test.ok \
+             codec/codec_efr_sid_test.ok codec/codec_efr_sid_test.in \
              codec/codec_hr_sid_test.ok codec/codec_hr_sid_test.in \
             vty/vty_test.ok vty/vty_test.err \
             vty/fail_not_de-indented.cfg \
@@ -603,6 +608,8 @@
                >$(srcdir)/codec/codec_test.ok
        codec/codec_ecu_fr_test \
                >$(srcdir)/codec/codec_ecu_fr_test.ok
+       codec/codec_efr_sid_test $(srcdir)/codec/codec_efr_sid_test.in \
+               >$(srcdir)/codec/codec_efr_sid_test.ok
        codec/codec_hr_sid_test $(srcdir)/codec/codec_hr_sid_test.in \
                >$(srcdir)/codec/codec_hr_sid_test.ok
 if ENABLE_GB
diff --git a/tests/codec/codec_efr_sid_test.c b/tests/codec/codec_efr_sid_test.c
new file mode 100644
index 0000000..08cc94b
--- /dev/null
+++ b/tests/codec/codec_efr_sid_test.c
@@ -0,0 +1,97 @@
+/*
+ * This program is a test for osmo_efr_sid_classify().  It reads a set of
+ * EFR codec frames in hex format (TS 101 318 RTP format represented in hex,
+ * each frame as its own hex line) and feeds each test frame to
+ * osmo_efr_sid_classify().  It then prints the output next to each input.
+ *
+ * Author: Mychaela N. Falconia <[email protected]>, 2024 - however,
+ * Mother Mychaela's contributions are NOT subject to copyright.
+ * No rights reserved, all rights relinquished.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ */
+
+#include <ctype.h>
+#include <stdio.h>
+#include <stdint.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <osmocom/core/utils.h>
+#include <osmocom/codec/codec.h>
+
+static void process_record(const char *hex_str)
+{
+       uint8_t frame_bytes[GSM_EFR_BYTES];
+       enum osmo_gsm631_sid_class sidc;
+
+       osmo_hexparse(hex_str, frame_bytes, GSM_EFR_BYTES);
+       sidc = osmo_efr_sid_classify(frame_bytes);
+       printf("%s ==> %d\n", hex_str, (int) sidc);
+}
+
+static void process_line(char *linebuf, const char *infname, int lineno)
+{
+       char *cp = linebuf, *hex_str;
+       int ndig;
+
+       while (isspace(*cp))
+               cp++;
+       if (*cp == '\0' || *cp == '#')
+               return;
+       /* expect string of 62 hex digits */
+       hex_str = cp;
+       for (ndig = 0; ndig < GSM_EFR_BYTES * 2; ndig++) {
+               if (!isxdigit(*cp))
+                       goto inv;
+               cp++;
+       }
+       if (*cp) {
+               if (!isspace(*cp))
+                       goto inv;
+               *cp++ = '\0';
+       }
+       /* must be end of non-comment line */
+       while (isspace(*cp))
+               cp++;
+       if (*cp != '\0' && *cp != '#')
+               goto inv;
+
+       process_record(hex_str);
+       return;
+
+inv:   fprintf(stderr, "%s line %d: invalid syntax\n", infname, lineno);
+       exit(1);
+}
+
+int main(int argc, char **argv)
+{
+       const char *infname;
+       FILE *inf;
+       char linebuf[128];
+       int lineno;
+
+       if (argc != 2) {
+               fprintf(stderr, "usage: %s input-file\n", argv[0]);
+               exit(1);
+       }
+       infname = argv[1];
+       inf = fopen(infname, "r");
+       if (!inf) {
+               perror(infname);
+               exit(1);
+       }
+       for (lineno = 1; fgets(linebuf, sizeof(linebuf), inf); lineno++)
+               process_line(linebuf, infname, lineno);
+       fclose(inf);
+       exit(0);
+}
diff --git a/tests/codec/codec_efr_sid_test.in 
b/tests/codec/codec_efr_sid_test.in
new file mode 100644
index 0000000..af95b5b
--- /dev/null
+++ b/tests/codec/codec_efr_sid_test.in
@@ -0,0 +1,183 @@
+# This file is input for the EFR SID classifier test program.
+# It has been generated here:
+#
+# https://www.freecalypso.org/hg/vband-misc/file/tip/efr-sid
+#
+# Unit-test-desc file in the above directory contains
+# a detailed description.
+
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5802FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5804FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B58067FFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806BFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806DFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806EFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806F7FFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FBFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FDFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FEFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FF7FF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFBFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFDFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFEFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFF7F80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFBF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFDF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFEF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFF780001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFB80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFD80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFE80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF00001E3BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E1BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E2BFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E33FFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E39FFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3AFFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3B7FFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BBFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BDFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BEFFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BF7FFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFBFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFDFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFEFFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFF7FE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFBFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFDFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFEFE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFF7E0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFBE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFDE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFEE0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFF60000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFA0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFC0000800FFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE00008007FFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800BFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800DFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800EFFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800F7FFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FBFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FDFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FEFFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FF7FFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFBFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFDFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFEFFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFF7FF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFBFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFDFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFEFF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFF7F000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFBF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFDF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFEF000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFF7000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFB000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFD000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFE000040FFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF0000407FFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040BFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040DFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040EFFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040F7FCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FBFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FDFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FEFCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FF7CFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFBCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFDCFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFECFFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFF4FFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFF8FFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFC7FC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCBFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCDFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCEFC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCF7C00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFBC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFDC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFEC00010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFF400010
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFF800010
+C286DD29B5802FFFFF80001E3BFFFFE00008007FFFFF000040FFFCFFC00010
+C286DD29B5804FFFFF80001E3BFFFFE0000800BFFFFF000040FFFCFFC00010
+C286DD29B58067FFFF80001E3BFFFFE0000800DFFFFF000040FFFCFFC00010
+C286DD29B5806BFFFF80001E3BFFFFE0000800EFFFFF000040FFFCFFC00010
+C286DD29B5806DFFFF80001E3BFFFFE0000800F7FFFF000040FFFCFFC00010
+C286DD29B5806EFFFF80001E3BFFFFE0000800FBFFFF000040FFFCFFC00010
+C286DD29B5806F7FFF80001E3BFFFFE0000800FDFFFF000040FFFCFFC00010
+C286DD29B5806FBFFF80001E3BFFFFE0000800FEFFFF000040FFFCFFC00010
+C286DD29B5806FDFFF80001E3BFFFFE0000800FF7FFF000040FFFCFFC00010
+C286DD29B5806FEFFF80001E3BFFFFE0000800FFBFFF000040FFFCFFC00010
+C286DD29B5806FF7FF80001E3BFFFFE0000800FFDFFF000040FFFCFFC00010
+C286DD29B5806FFBFF80001E3BFFFFE0000800FFEFFF000040FFFCFFC00010
+C286DD29B5806FFDFF80001E3BFFFFE0000800FFF7FF000040FFFCFFC00010
+C286DD29B5806FFEFF80001E3BFFFFE0000800FFFBFF000040FFFCFFC00010
+C286DD29B5806FFF7F80001E3BFFFFE0000800FFFDFF000040FFFCFFC00010
+C286DD29B5806FFFBF80001E3BFFFFE0000800FFFEFF000040FFFCFFC00010
+C286DD29B5806FFFDF80001E3BFFFFE0000800FFFF7F000040FFFCFFC00010
+C286DD29B5806FFFEF80001E3BFFFFE0000800FFFFBF000040FFFCFFC00010
+C286DD29B5806FFFF780001E3BFFFFE0000800FFFFDF000040FFFCFFC00010
+C286DD29B5806FFFFB80001E3BFFFFE0000800FFFFEF000040FFFCFFC00010
+C286DD29B5806FFFFD80001E3BFFFFE0000800FFFFF7000040FFFCFFC00010
+C286DD29B5806FFFFE80001E3BFFFFE0000800FFFFFB000040FFFCFFC00010
+C286DD29B5806FFFFF00001E3BFFFFE0000800FFFFFD000040FFFCFFC00010
+C286DD29B5806FFFFF80001E1BFFFFE0000800FFFFFE000040FFFCFFC00010
+C286DD29B5806FFFFF80001E2BFFFFE0000800FFFFFF0000407FFCFFC00010
+C286DD29B5806FFFFF80001E33FFFFE0000800FFFFFF000040BFFCFFC00010
+C286DD29B5806FFFFF80001E39FFFFE0000800FFFFFF000040DFFCFFC00010
+C286DD29B5806FFFFF80001E3AFFFFE0000800FFFFFF000040EFFCFFC00010
+C286DD29B5806FFFFF80001E3B7FFFE0000800FFFFFF000040F7FCFFC00010
+C286DD29B5806FFFFF80001E3BBFFFE0000800FFFFFF000040FBFCFFC00010
+C286DD29B5806FFFFF80001E3BDFFFE0000800FFFFFF000040FDFCFFC00010
+C286DD29B5806FFFFF80001E3BEFFFE0000800FFFFFF000040FEFCFFC00010
+C286DD29B5806FFFFF80001E3BF7FFE0000800FFFFFF000040FF7CFFC00010
+C286DD29B5806FFFFF80001E3BFBFFE0000800FFFFFF000040FFBCFFC00010
+C286DD29B5806FFFFF80001E3BFDFFE0000800FFFFFF000040FFDCFFC00010
+C286DD29B5806FFFFF80001E3BFEFFE0000800FFFFFF000040FFECFFC00010
+C286DD29B5806FFFFF80001E3BFF7FE0000800FFFFFF000040FFF4FFC00010
+C286DD29B5806FFFFF80001E3BFFBFE0000800FFFFFF000040FFF8FFC00010
+C286DD29B5806FFFFF80001E3BFFDFE0000800FFFFFF000040FFFC7FC00010
+C286DD29B5806FFFFF80001E3BFFEFE0000800FFFFFF000040FFFCBFC00010
+C286DD29B5806FFFFF80001E3BFFF7E0000800FFFFFF000040FFFCDFC00010
+C286DD29B5806FFFFF80001E3BFFFBE0000800FFFFFF000040FFFCEFC00010
+C286DD29B5806FFFFF80001E3BFFFDE0000800FFFFFF000040FFFCF7C00010
+C286DD29B5806FFFFF80001E3BFFFEE0000800FFFFFF000040FFFCFBC00010
+C286DD29B5806FFFFF80001E3BFFFF60000800FFFFFF000040FFFCFDC00010
+C286DD29B5806FFFFF80001E3BFFFFA0000800FFFFFF000040FFFCFEC00010
+C286DD29B5806FFFFF80001E3BFFFFC0000800FFFFFF000040FFFCFF400010
+C286DD29B5806FFFFF80001E3BFFFFE00008007FFFFF000040FFFCFF800010
+C286DD29B5802F7DF780001E2BDF7DE0000800BEFBEF000040BEF8FFC00010
+C286DD29B5804FBEFB80001E33EFBEE0000800DF7DF7000040DF7C7FC00010
+C286DD29B58067DF7D80001E39F7DF60000800EFBEFB000040EFBCBFC00010
+C286DD29B5806BEFBE80001E3AFBEFA0000800F7DF7D000040F7DCDFC00010
+C286DD29B5806DF7DF00001E3B7DF7C0000800FBEFBE000040FBECEFC00010
+C286DD29B5806EFBEF80001E1BBEFBE00008007DF7DF0000407DF4F7C00010
+C286DD29B5806F7DF780001E2BDF7DE0000800BEFBEF000040BEF8FBC00010
+C286DD29B5806FBEFB80001E33EFBEE0000800DF7DF7000040DF7C7DC00010
+C286DD29B5806FDF7D80001E39F7DF60000800EFBEFB000040EFBCBEC00010
+C286DD29B5806FEFBE80001E3AFBEFA0000800F7DF7D000040F7DCDF400010
+C286DD29B5806FF7DF00001E3B7DF7C0000800FBEFBE000040FBECEF800010
+C286DD29B5802EF7BD80001E33DEF7A0000800EF7BDE000040F7FCFFC00010
+C286DD29B5804F7BDE80001E39EF7BC0000800F7BDEF0000407BFCFFC00010
+C286DD29B58067BDEF00001E3AF7BDE00008007BDEF7000040BDFCFFC00010
+C286DD29B5806BDEF780001E1B7BDEE0000800BDEF7B000040DEFCFFC00010
+C286DD29B5806DEF7B80001E2BBDEF60000800DEF7BD000040EF7CFFC00010
+C286DD29B5806EF7BD80001E33DEF7A0000800EF7BDE000040F7BCFFC00010
+C286DD29B5806F7BDE80001E39EF7BC0000800F7BDEF0000407BDCFFC00010
+C286DD29B5806FBDEF00001E3AF7BDE00008007BDEF7000040BDECFFC00010
+C286DD29B5806FDEF780001E1B7BDEE0000800BDEF7B000040DEF4FFC00010
+C286DD29B5806FEF7B80001E2BBDEF60000800DEF7BD000040EF78FFC00010
+C286DD29B5806FF7BD80001E33DEF7A0000800EF7BDE000040F7BC7FC00010
+C286DD29B5806FFBDE80001E39EF7BC0000800F7BDEF0000407BDCBFC00010
+C286DD29B5806FFDEF00001E3AF7BDE00008007BDEF7000040BDECDFC00010
+C286DD29B5806FFEF780001E1B7BDEE0000800BDEF7B000040DEF4EFC00010
+C286DD29B5806FFF7B80001E2BBDEF60000800DEF7BD000040EF78F7C00010
+C286DD29B5806FFFBD80001E33DEF7A0000800EF7BDE000040F7BC7BC00010
+C286DD29B5806FFFDE80001E39EF7BC0000800F7BDEF0000407BDCBDC00010
+C286DD29B5806FFFEF00001E3AF7BDE00008007BDEF7000040BDECDEC00010
+C286DD29B5806FFFF780001E1B7BDEE0000800BDEF7B000040DEF4EF400010
+C286DD29B5806FFFFB80001E2BBDEF60000800DEF7BD000040EF78F7800010
diff --git a/tests/codec/codec_efr_sid_test.ok 
b/tests/codec/codec_efr_sid_test.ok
new file mode 100644
index 0000000..6b94cf4
--- /dev/null
+++ b/tests/codec/codec_efr_sid_test.ok
@@ -0,0 +1,175 @@
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5802FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5804FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B58067FFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806BFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806DFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806EFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806F7FFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FBFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FDFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FEFFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FF7FF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFBFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFDFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFEFF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFF7F80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFBF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFDF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFEF80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFF780001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFB80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFD80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFE80001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF00001E3BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E1BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E2BFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E33FFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E39FFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3AFFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3B7FFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BBFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BDFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BEFFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BF7FFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFBFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFDFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFEFFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFF7FE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFBFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFDFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFEFE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFF7E0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFBE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFDE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFEE0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFF60000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFA0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFC0000800FFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE00008007FFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800BFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800DFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800EFFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800F7FFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FBFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FDFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FEFFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FF7FFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFBFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFDFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFEFFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFF7FF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFBFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFDFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFEFF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFF7F000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFBF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFDF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFEF000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFF7000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFB000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFD000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFE000040FFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF0000407FFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040BFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040DFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040EFFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040F7FCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FBFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FDFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FEFCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FF7CFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFBCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFDCFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFECFFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFF4FFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFF8FFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFC7FC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCBFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCDFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCEFC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCF7C00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFBC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFDC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFEC00010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFF400010 ==> 2
+C286DD29B5806FFFFF80001E3BFFFFE0000800FFFFFF000040FFFCFF800010 ==> 2
+C286DD29B5802FFFFF80001E3BFFFFE00008007FFFFF000040FFFCFFC00010 ==> 1
+C286DD29B5804FFFFF80001E3BFFFFE0000800BFFFFF000040FFFCFFC00010 ==> 1
+C286DD29B58067FFFF80001E3BFFFFE0000800DFFFFF000040FFFCFFC00010 ==> 1
+C286DD29B5806BFFFF80001E3BFFFFE0000800EFFFFF000040FFFCFFC00010 ==> 1
+C286DD29B5806DFFFF80001E3BFFFFE0000800F7FFFF000040FFFCFFC00010 ==> 1
+C286DD29B5806EFFFF80001E3BFFFFE0000800FBFFFF000040FFFCFFC00010 ==> 1
+C286DD29B5806F7FFF80001E3BFFFFE0000800FDFFFF000040FFFCFFC00010 ==> 1
+C286DD29B5806FBFFF80001E3BFFFFE0000800FEFFFF000040FFFCFFC00010 ==> 1
+C286DD29B5806FDFFF80001E3BFFFFE0000800FF7FFF000040FFFCFFC00010 ==> 1
+C286DD29B5806FEFFF80001E3BFFFFE0000800FFBFFF000040FFFCFFC00010 ==> 1
+C286DD29B5806FF7FF80001E3BFFFFE0000800FFDFFF000040FFFCFFC00010 ==> 1
+C286DD29B5806FFBFF80001E3BFFFFE0000800FFEFFF000040FFFCFFC00010 ==> 1
+C286DD29B5806FFDFF80001E3BFFFFE0000800FFF7FF000040FFFCFFC00010 ==> 1
+C286DD29B5806FFEFF80001E3BFFFFE0000800FFFBFF000040FFFCFFC00010 ==> 1
+C286DD29B5806FFF7F80001E3BFFFFE0000800FFFDFF000040FFFCFFC00010 ==> 1
+C286DD29B5806FFFBF80001E3BFFFFE0000800FFFEFF000040FFFCFFC00010 ==> 1
+C286DD29B5806FFFDF80001E3BFFFFE0000800FFFF7F000040FFFCFFC00010 ==> 1
+C286DD29B5806FFFEF80001E3BFFFFE0000800FFFFBF000040FFFCFFC00010 ==> 1
+C286DD29B5806FFFF780001E3BFFFFE0000800FFFFDF000040FFFCFFC00010 ==> 1
+C286DD29B5806FFFFB80001E3BFFFFE0000800FFFFEF000040FFFCFFC00010 ==> 1
+C286DD29B5806FFFFD80001E3BFFFFE0000800FFFFF7000040FFFCFFC00010 ==> 1
+C286DD29B5806FFFFE80001E3BFFFFE0000800FFFFFB000040FFFCFFC00010 ==> 1
+C286DD29B5806FFFFF00001E3BFFFFE0000800FFFFFD000040FFFCFFC00010 ==> 1
+C286DD29B5806FFFFF80001E1BFFFFE0000800FFFFFE000040FFFCFFC00010 ==> 1
+C286DD29B5806FFFFF80001E2BFFFFE0000800FFFFFF0000407FFCFFC00010 ==> 1
+C286DD29B5806FFFFF80001E33FFFFE0000800FFFFFF000040BFFCFFC00010 ==> 1
+C286DD29B5806FFFFF80001E39FFFFE0000800FFFFFF000040DFFCFFC00010 ==> 1
+C286DD29B5806FFFFF80001E3AFFFFE0000800FFFFFF000040EFFCFFC00010 ==> 1
+C286DD29B5806FFFFF80001E3B7FFFE0000800FFFFFF000040F7FCFFC00010 ==> 1
+C286DD29B5806FFFFF80001E3BBFFFE0000800FFFFFF000040FBFCFFC00010 ==> 1
+C286DD29B5806FFFFF80001E3BDFFFE0000800FFFFFF000040FDFCFFC00010 ==> 1
+C286DD29B5806FFFFF80001E3BEFFFE0000800FFFFFF000040FEFCFFC00010 ==> 1
+C286DD29B5806FFFFF80001E3BF7FFE0000800FFFFFF000040FF7CFFC00010 ==> 1
+C286DD29B5806FFFFF80001E3BFBFFE0000800FFFFFF000040FFBCFFC00010 ==> 1
+C286DD29B5806FFFFF80001E3BFDFFE0000800FFFFFF000040FFDCFFC00010 ==> 1
+C286DD29B5806FFFFF80001E3BFEFFE0000800FFFFFF000040FFECFFC00010 ==> 1
+C286DD29B5806FFFFF80001E3BFF7FE0000800FFFFFF000040FFF4FFC00010 ==> 1
+C286DD29B5806FFFFF80001E3BFFBFE0000800FFFFFF000040FFF8FFC00010 ==> 1
+C286DD29B5806FFFFF80001E3BFFDFE0000800FFFFFF000040FFFC7FC00010 ==> 1
+C286DD29B5806FFFFF80001E3BFFEFE0000800FFFFFF000040FFFCBFC00010 ==> 1
+C286DD29B5806FFFFF80001E3BFFF7E0000800FFFFFF000040FFFCDFC00010 ==> 1
+C286DD29B5806FFFFF80001E3BFFFBE0000800FFFFFF000040FFFCEFC00010 ==> 1
+C286DD29B5806FFFFF80001E3BFFFDE0000800FFFFFF000040FFFCF7C00010 ==> 1
+C286DD29B5806FFFFF80001E3BFFFEE0000800FFFFFF000040FFFCFBC00010 ==> 1
+C286DD29B5806FFFFF80001E3BFFFF60000800FFFFFF000040FFFCFDC00010 ==> 1
+C286DD29B5806FFFFF80001E3BFFFFA0000800FFFFFF000040FFFCFEC00010 ==> 1
+C286DD29B5806FFFFF80001E3BFFFFC0000800FFFFFF000040FFFCFF400010 ==> 1
+C286DD29B5806FFFFF80001E3BFFFFE00008007FFFFF000040FFFCFF800010 ==> 1
+C286DD29B5802F7DF780001E2BDF7DE0000800BEFBEF000040BEF8FFC00010 ==> 1
+C286DD29B5804FBEFB80001E33EFBEE0000800DF7DF7000040DF7C7FC00010 ==> 1
+C286DD29B58067DF7D80001E39F7DF60000800EFBEFB000040EFBCBFC00010 ==> 1
+C286DD29B5806BEFBE80001E3AFBEFA0000800F7DF7D000040F7DCDFC00010 ==> 1
+C286DD29B5806DF7DF00001E3B7DF7C0000800FBEFBE000040FBECEFC00010 ==> 1
+C286DD29B5806EFBEF80001E1BBEFBE00008007DF7DF0000407DF4F7C00010 ==> 1
+C286DD29B5806F7DF780001E2BDF7DE0000800BEFBEF000040BEF8FBC00010 ==> 1
+C286DD29B5806FBEFB80001E33EFBEE0000800DF7DF7000040DF7C7DC00010 ==> 1
+C286DD29B5806FDF7D80001E39F7DF60000800EFBEFB000040EFBCBEC00010 ==> 1
+C286DD29B5806FEFBE80001E3AFBEFA0000800F7DF7D000040F7DCDF400010 ==> 1
+C286DD29B5806FF7DF00001E3B7DF7C0000800FBEFBE000040FBECEF800010 ==> 1
+C286DD29B5802EF7BD80001E33DEF7A0000800EF7BDE000040F7FCFFC00010 ==> 0
+C286DD29B5804F7BDE80001E39EF7BC0000800F7BDEF0000407BFCFFC00010 ==> 0
+C286DD29B58067BDEF00001E3AF7BDE00008007BDEF7000040BDFCFFC00010 ==> 0
+C286DD29B5806BDEF780001E1B7BDEE0000800BDEF7B000040DEFCFFC00010 ==> 0
+C286DD29B5806DEF7B80001E2BBDEF60000800DEF7BD000040EF7CFFC00010 ==> 0
+C286DD29B5806EF7BD80001E33DEF7A0000800EF7BDE000040F7BCFFC00010 ==> 0
+C286DD29B5806F7BDE80001E39EF7BC0000800F7BDEF0000407BDCFFC00010 ==> 0
+C286DD29B5806FBDEF00001E3AF7BDE00008007BDEF7000040BDECFFC00010 ==> 0
+C286DD29B5806FDEF780001E1B7BDEE0000800BDEF7B000040DEF4FFC00010 ==> 0
+C286DD29B5806FEF7B80001E2BBDEF60000800DEF7BD000040EF78FFC00010 ==> 0
+C286DD29B5806FF7BD80001E33DEF7A0000800EF7BDE000040F7BC7FC00010 ==> 0
+C286DD29B5806FFBDE80001E39EF7BC0000800F7BDEF0000407BDCBFC00010 ==> 0
+C286DD29B5806FFDEF00001E3AF7BDE00008007BDEF7000040BDECDFC00010 ==> 0
+C286DD29B5806FFEF780001E1B7BDEE0000800BDEF7B000040DEF4EFC00010 ==> 0
+C286DD29B5806FFF7B80001E2BBDEF60000800DEF7BD000040EF78F7C00010 ==> 0
+C286DD29B5806FFFBD80001E33DEF7A0000800EF7BDE000040F7BC7BC00010 ==> 0
+C286DD29B5806FFFDE80001E39EF7BC0000800F7BDEF0000407BDCBDC00010 ==> 0
+C286DD29B5806FFFEF00001E3AF7BDE00008007BDEF7000040BDECDEC00010 ==> 0
+C286DD29B5806FFFF780001E1B7BDEE0000800BDEF7B000040DEF4EF400010 ==> 0
+C286DD29B5806FFFFB80001E2BBDEF60000800DEF7BD000040EF78F7800010 ==> 0
diff --git a/tests/testsuite.at b/tests/testsuite.at
index dbf3925..acb3299 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -218,6 +218,12 @@
 AT_CHECK([$abs_top_builddir/tests/codec/codec_ecu_fr_test], [0], [expout], 
[ignore])
 AT_CLEANUP

+AT_SETUP([codec_efr_sid])
+AT_KEYWORDS([codec_efr_sid])
+cat $abs_srcdir/codec/codec_efr_sid_test.ok > expout
+AT_CHECK([$abs_top_builddir/tests/codec/codec_efr_sid_test 
$abs_srcdir/codec/codec_efr_sid_test.in], [0], [expout], [ignore])
+AT_CLEANUP
+
 AT_SETUP([codec_hr_sid])
 AT_KEYWORDS([codec_hr_sid])
 cat $abs_srcdir/codec/codec_hr_sid_test.ok > expout

--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/37841?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I5357c10d40dcca1564e45cba5914ff150fa83a4f
Gerrit-Change-Number: 37841
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <[email protected]>

Reply via email to