aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2022-08-05 13:46:44 +0200
committerlaforge <laforge@osmocom.org>2022-08-06 17:00:48 +0000
commit061f96d03827cce9080d57d6cd4b4be5cc4fa667 (patch)
treefa93714b7a88ed39313463e028d976a50c2ca263 /tests
parentfdb8f81922322a0ead748ad9fd012b567fb651dd (diff)
tests: Run smscb/gsm0341_test during make check
Some initial testing for that module was writen to apparently do some manual tests (rand()) but were never added to testsuite.at. Let's make sure they run during make check (make the test deterministic by removing rand()). Change-Id: Icd4feced06afb749de994195c6b338df006749ad
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am12
-rw-r--r--tests/smscb/gsm0341_test.c10
-rw-r--r--tests/smscb/gsm0341_test.ok1
-rw-r--r--tests/testsuite.at6
4 files changed, 22 insertions, 7 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 7d626154..b5448c01 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -9,13 +9,13 @@ LDADD += $(top_builddir)/tests/libsercomstub.a
endif
check_PROGRAMS = timer/timer_test sms/sms_test ussd/ussd_test \
- smscb/smscb_test bits/bitrev_test a5/a5_test \
+ bits/bitrev_test a5/a5_test \
conv/conv_test auth/milenage_test lapd/lapd_test \
gsm0808/gsm0808_test gsm0408/gsm0408_test \
gprs/gprs_test kasumi/kasumi_test gea/gea_test \
logging/logging_test codec/codec_test \
loggingrb/loggingrb_test strrb/strrb_test \
- comp128/comp128_test smscb/gsm0341_test \
+ comp128/comp128_test \
bitvec/bitvec_test msgb/msgb_test bits/bitcomp_test \
bits/bitfield_test \
tlv/tlv_test gsup/gsup_test oap/oap_test \
@@ -46,6 +46,8 @@ check_PROGRAMS = timer/timer_test sms/sms_test ussd/ussd_test \
gsm48/rest_octets_test \
base64/base64_test \
iuup/iuup_test \
+ smscb/smscb_test \
+ smscb/gsm0341_test \
$(NULL)
if ENABLE_MSGFILE
@@ -352,7 +354,7 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \
timer/timer_test.ok sms/sms_test.ok ussd/ussd_test.ok \
- smscb/smscb_test.ok bits/bitrev_test.ok a5/a5_test.ok \
+ bits/bitrev_test.ok a5/a5_test.ok \
conv/conv_test.ok auth/milenage_test.ok ctrl/ctrl_test.ok \
lapd/lapd_test.ok \
gsm0408/gsm0408_test.ok gsm0408/gsm0408_test.err \
@@ -426,6 +428,8 @@ EXTRA_DIST = testsuite.at $(srcdir)/package.m4 $(TESTSUITE) \
gsm48/rest_octets_test.ok \
base64/base64_test.ok \
iuup/iuup_test.ok \
+ smscb/smscb_test.ok \
+ smscb/gsm0341_test.ok \
$(NULL)
if ENABLE_LIBSCTP
@@ -480,6 +484,8 @@ endif
>$(srcdir)/sms/sms_test.ok
smscb/smscb_test \
>$(srcdir)/smscb/smscb_test.ok
+ smscb/gsm0341_test \
+ >$(srcdir)/smscb/gsm0341_test.ok
ussd/ussd_test \
>$(srcdir)/ussd/ussd_test.ok
auth/milenage_test \
diff --git a/tests/smscb/gsm0341_test.c b/tests/smscb/gsm0341_test.c
index d11336f1..966a00fd 100644
--- a/tests/smscb/gsm0341_test.c
+++ b/tests/smscb/gsm0341_test.c
@@ -25,7 +25,7 @@
#include <osmocom/core/utils.h>
#include <osmocom/core/msgb.h>
-struct gsm341_ms_message *gen_msg_from_text(uint16_t msg_id, const char *text)
+struct gsm341_ms_message *gen_msg_from_text(uint16_t msg_id, uint8_t msg_code, const char *text)
{
struct gsm341_ms_message *cbmsg;
int text_len = strlen(text);
@@ -34,11 +34,11 @@ struct gsm341_ms_message *gen_msg_from_text(uint16_t msg_id, const char *text)
uint8_t payload[text_len];
int payload_octets;
- srand(time(NULL));
+ //srand(time(NULL));
gsm_7bit_encode_n(payload, sizeof(payload), text, &payload_octets);
//cbmsg = gsm0341_build_msg(NULL, 0, rand(), 0, msg_id, 0x0f, 1, 1, payload, payload_octets);
- cbmsg = gsm0341_build_msg(NULL, 0, rand(), 0, msg_id, 0x00, 1, 1, payload, payload_octets);
+ cbmsg = gsm0341_build_msg(NULL, 0, msg_code, 0, msg_id, 0x00, 1, 1, payload, payload_octets);
printf("%s\n", osmo_hexdump_nospc((uint8_t *)cbmsg, sizeof(*cbmsg)+payload_octets));
@@ -50,6 +50,7 @@ int main(int argc, char **argv)
uint16_t msg_id = GSM341_MSGID_ETWS_CMAS_MONTHLY_TEST;
char *text = "Mahlzeit!";
char tbuf[GSM341_MAX_CHARS+1];
+ struct gsm341_ms_message *cbmsg;
if (argc > 1)
msg_id = atoi(argv[1]);
@@ -63,7 +64,8 @@ int main(int argc, char **argv)
sizeof(tbuf)-strlen(text));
tbuf[GSM341_MAX_CHARS] = 0;
- gen_msg_from_text(msg_id, tbuf);
+ cbmsg = gen_msg_from_text(msg_id, 1, tbuf);
+ talloc_free(cbmsg);
return EXIT_SUCCESS;
}
diff --git a/tests/smscb/gsm0341_test.ok b/tests/smscb/gsm0341_test.ok
new file mode 100644
index 00000000..600797c3
--- /dev/null
+++ b/tests/smscb/gsm0341_test.ok
@@ -0,0 +1 @@
+0010111c0011cd309aad2fa7e9a146a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d100
diff --git a/tests/testsuite.at b/tests/testsuite.at
index 44ae5390..cc0b8c33 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -102,6 +102,12 @@ cat $abs_srcdir/smscb/smscb_test.ok > expout
AT_CHECK([$abs_top_builddir/tests/smscb/smscb_test], [0], [expout])
AT_CLEANUP
+AT_SETUP([smscb_gsm0341])
+AT_KEYWORDS([smscb_gsm0341])
+cat $abs_srcdir/smscb/gsm0341_test.ok > expout
+AT_CHECK([$abs_top_builddir/tests/smscb/gsm0341_test], [0], [expout])
+AT_CLEANUP
+
AT_SETUP([ussd])
AT_KEYWORDS([ussd])
cat $abs_srcdir/ussd/ussd_test.ok > expout