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
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 7d62615..b5448c0 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -9,13 +9,13 @@
 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 @@
 		 gsm48/rest_octets_test					\
 		 base64/base64_test					\
 		 iuup/iuup_test						\
+		 smscb/smscb_test                                       \
+		 smscb/gsm0341_test                                     \
 		 $(NULL)
 
 if ENABLE_MSGFILE
@@ -352,7 +354,7 @@
 
 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 @@
 	     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 @@
 		>$(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 d11336f..966a00f 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 @@
 	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 @@
 	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 @@
 			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 0000000..600797c
--- /dev/null
+++ b/tests/smscb/gsm0341_test.ok
@@ -0,0 +1 @@
+0010111c0011cd309aad2fa7e9a146a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d168341a8d46a3d100
diff --git a/tests/testsuite.at b/tests/testsuite.at
index 44ae539..cc0b8c3 100644
--- a/tests/testsuite.at
+++ b/tests/testsuite.at
@@ -102,6 +102,12 @@
 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