pespin submitted this change.
Introduce tests/osmo-config-merge testsuite
This allows catching current bugs and possible regressions when fixing
them.
For instance, testB2.ok already shows a bug where lots of lines expected
to be merged under the "cs7 instance 0" end up put in an un expected place.
This happens due to comments being used by osmo-config-merge during tree
creation, and will be fixed in a follow-up commit.
Change-Id: Ia172d4c280f4bae1b411ad805cca02355ca7fcc9
---
M .gitignore
M configure.ac
M tests/Makefile.am
A tests/osmo-config-merge/Makefile.am
A tests/osmo-config-merge/testA.cfg
A tests/osmo-config-merge/testA.confmerge
A tests/osmo-config-merge/testA.ok
A tests/osmo-config-merge/testB.cfg
A tests/osmo-config-merge/testB.confmerge
A tests/osmo-config-merge/testB.ok
A tests/osmo-config-merge/testB2.cfg
A tests/osmo-config-merge/testB2.confmerge
A tests/osmo-config-merge/testB2.ok
A tests/osmo-config-merge/testsuite.at
14 files changed, 1,095 insertions(+), 0 deletions(-)
diff --git a/.gitignore b/.gitignore
index 264e739..29148d0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -69,6 +69,13 @@
tests/testsuite.log
tests/*/*_test
+tests/osmo-config-merge/atconfig
+tests/osmo-config-merge/osmo-test
+tests/osmo-config-merge/package.m4
+tests/osmo-config-merge/testsuite
+tests/osmo-config-merge/testsuite.dir/
+tests/osmo-config-merge/testsuite.log
+
utils/osmo-arfcn
utils/osmo-auc-gen
utils/osmo-config-merge
diff --git a/configure.ac b/configure.ac
index c8b2f1e..120500f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -7,6 +7,7 @@
AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip 1.6 subdir-objects])
AC_CONFIG_TESTDIR(tests)
+AC_CONFIG_TESTDIR(tests/osmo-config-merge)
CFLAGS="$CFLAGS -std=gnu11"
@@ -650,6 +651,7 @@
tapset/Makefile
tests/Makefile
tests/atlocal
+ tests/osmo-config-merge/Makefile
utils/Makefile
utils/osmo-stat-dummy/Makefile
Doxyfile.core
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 48242c3..929cade 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -1,3 +1,6 @@
+# Putting '.' first to run tests/osmo-config-merge/ testsuite after the one under tests/:
+SUBDIRS = . osmo-config-merge
+
AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir)
AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS)
AM_LDFLAGS = -no-install
diff --git a/tests/osmo-config-merge/Makefile.am b/tests/osmo-config-merge/Makefile.am
new file mode 100644
index 0000000..952173e
--- /dev/null
+++ b/tests/osmo-config-merge/Makefile.am
@@ -0,0 +1,59 @@
+AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_builddir)
+AM_CFLAGS = -Wall $(TALLOC_CFLAGS) $(PTHREAD_CFLAGS)
+AM_LDFLAGS = -no-install
+LDADD = $(top_builddir)/src/core/libosmocore.la $(TALLOC_LIBS) $(PTHREAD_LIBS)
+
+check_PROGRAMS = $(top_builddir)/utils/osmo-config-merge \
+ $(NULL)
+
+TESTSUITE = $(srcdir)/testsuite
+
+EXTRA_DIST = testsuite.at \
+ $(srcdir)/package.m4 \
+ $(TESTSUITE) \
+ testA.cfg testA.confmerge testA.ok \
+ testB.cfg testB.confmerge testB.ok \
+ testB2.cfg testB2.confmerge testB2.ok \
+ $(NULL)
+
+DISTCLEANFILES = atconfig
+
+# The `:;' works around a Bash 3.2 bug when the output is not writeable.
+$(srcdir)/package.m4: $(top_srcdir)/configure.ac
+ :;{ \
+ echo '# Signature of the current package.' && \
+ echo 'm4_define([AT_PACKAGE_NAME],' && \
+ echo ' [$(PACKAGE_NAME)])' && \
+ echo 'm4_define([AT_PACKAGE_TARNAME],' && \
+ echo ' [$(PACKAGE_TARNAME)])' && \
+ echo 'm4_define([AT_PACKAGE_VERSION],' && \
+ echo ' [$(PACKAGE_VERSION)])' && \
+ echo 'm4_define([AT_PACKAGE_STRING],' && \
+ echo ' [$(PACKAGE_STRING)])' && \
+ echo 'm4_define([AT_PACKAGE_BUGREPORT],' && \
+ echo ' [$(PACKAGE_BUGREPORT)])'; \
+ echo 'm4_define([AT_PACKAGE_URL],' && \
+ echo ' [$(PACKAGE_URL)])'; \
+ } >'$(srcdir)/package.m4'
+
+update_exp: $(check_PROGRAMS)
+ $(top_builddir)/utils/osmo-config-merge $(srcdir)/testA.cfg $(srcdir)/testA.confmerge >$(srcdir)/testA.ok
+ $(top_builddir)/utils/osmo-config-merge $(srcdir)/testB.cfg $(srcdir)/testB.confmerge >$(srcdir)/testB.ok
+ $(top_builddir)/utils/osmo-config-merge $(srcdir)/testB2.cfg $(srcdir)/testB2.confmerge >$(srcdir)/testB2.ok
+
+check-local: atconfig $(TESTSUITE)
+ $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS)
+
+installcheck-local: atconfig $(TESTSUITE)
+ $(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' \
+ $(TESTSUITEFLAGS)
+
+clean-local:
+ test ! -f '$(TESTSUITE)' || \
+ $(SHELL) '$(TESTSUITE)' --clean
+
+AUTOM4TE = $(SHELL) $(top_srcdir)/missing --run autom4te
+AUTOTEST = $(AUTOM4TE) --language=autotest
+$(TESTSUITE): $(srcdir)/testsuite.at $(srcdir)/package.m4
+ $(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at
+ mv $@.tmp $@
diff --git a/tests/osmo-config-merge/testA.cfg b/tests/osmo-config-merge/testA.cfg
new file mode 100644
index 0000000..e0fadb1
--- /dev/null
+++ b/tests/osmo-config-merge/testA.cfg
@@ -0,0 +1,93 @@
+!
+! OsmoBTS (0.4.0.446-e0fb) configuration saved from vty
+!!
+!
+log gsmtap 127.0.0.1
+ logging level set-all debug
+ logging filter all 1
+!
+log stderr
+ logging filter all 1
+ logging print extended-timestamp 1
+ logging print file basename last
+ logging print category-hex 0
+ logging print category 1
+ logging print level 1
+ logging timestamp 1
+ logging color 1
+!
+ logging level set-all notice
+ logging level rsl info
+ logging level meas info
+ logging level pag info
+ logging level l1c info
+ logging level dsp info
+ logging level pcu info
+ logging level trx info
+ logging level osmux info
+ logging level lmib info
+ logging level lmux info
+!
+line vty
+ no login
+ bind 127.0.0.1
+!
+cpu-sched
+ policy rr 30
+!
+e1_input
+ e1_line 0 driver ipa
+ e1_line 0 port 0
+ no e1_line 0 keepalive
+phy 0
+ osmotrx ip local 127.0.0.1
+ osmotrx ip remote 127.0.0.1
+ instance 0
+ osmotrx rx-gain 10
+ instance 1
+ osmotrx rx-gain 10
+ instance 2
+ osmotrx rx-gain 10
+ instance 3
+ osmotrx rx-gain 10
+bts 0
+ band DCS1800
+ ipa unit-id 1234 0
+ oml remote-ip 127.0.0.11
+ rtp jitter-buffer 100
+ paging queue-size 200
+ paging lifetime 0
+ gsmtap-remote-host 127.0.0.1
+ gsmtap-sapi enable-all
+ no gsmtap-sapi pdtch
+ no gsmtap-sapi ptcch
+ min-qual-rach 50
+ min-qual-norm -5
+ !settsc
+ pcu-socket /tmp/pcu_sock
+ osmux
+ use on
+ local-ip 127.0.0.11
+ local-port 1984
+ trx 0
+ power-ramp max-initial 0 mdBm
+ power-ramp step-size 8000 mdB
+ power-ramp step-interval 1
+ phy 0 instance 0
+ trx 1
+ power-ramp max-initial 0 mdBm
+ power-ramp step-size 8000 mdB
+ power-ramp step-interval 1
+ phy 0 instance 1
+ trx 2
+ power-ramp max-initial 0 mdBm
+ power-ramp step-size 8000 mdB
+ power-ramp step-interval 1
+ phy 0 instance 2
+ trx 3
+ power-ramp max-initial 0 mdBm
+ power-ramp step-size 8000 mdB
+ power-ramp step-interval 1
+ phy 0 instance 3
+ctrl
+ bind 127.0.0.1
diff --git a/tests/osmo-config-merge/testA.confmerge b/tests/osmo-config-merge/testA.confmerge
new file mode 100644
index 0000000..0138bf7
--- /dev/null
+++ b/tests/osmo-config-merge/testA.confmerge
@@ -0,0 +1,10 @@
+bts 0
+ oml remote-ip 127.0.0.1
+ trx 0
+ power-ramp step-size 2000 mdB
+ trx 1
+ power-ramp step-size 2000 mdB
+ trx 2
+ power-ramp step-size 2000 mdB
+ trx 3
+ power-ramp step-size 2000 mdB
diff --git a/tests/osmo-config-merge/testA.ok b/tests/osmo-config-merge/testA.ok
new file mode 100644
index 0000000..b0768ad
--- /dev/null
+++ b/tests/osmo-config-merge/testA.ok
@@ -0,0 +1,98 @@
+!
+! OsmoBTS (0.4.0.446-e0fb) configuration saved from vty
+!!
+!
+log gsmtap 127.0.0.1
+ logging level set-all debug
+ logging filter all 1
+!
+log stderr
+ logging filter all 1
+ logging print extended-timestamp 1
+ logging print file basename last
+ logging print category-hex 0
+ logging print category 1
+ logging print level 1
+ logging timestamp 1
+ logging color 1
+!
+ logging level set-all notice
+ logging level rsl info
+ logging level meas info
+ logging level pag info
+ logging level l1c info
+ logging level dsp info
+ logging level pcu info
+ logging level trx info
+ logging level osmux info
+ logging level lmib info
+ logging level lmux info
+!
+line vty
+ no login
+ bind 127.0.0.1
+!
+cpu-sched
+ policy rr 30
+!
+e1_input
+ e1_line 0 driver ipa
+ e1_line 0 port 0
+ no e1_line 0 keepalive
+phy 0
+ osmotrx ip local 127.0.0.1
+ osmotrx ip remote 127.0.0.1
+ instance 0
+ osmotrx rx-gain 10
+ instance 1
+ osmotrx rx-gain 10
+ instance 2
+ osmotrx rx-gain 10
+ instance 3
+ osmotrx rx-gain 10
+bts 0
+ band DCS1800
+ ipa unit-id 1234 0
+ oml remote-ip 127.0.0.11
+ rtp jitter-buffer 100
+ paging queue-size 200
+ paging lifetime 0
+ gsmtap-remote-host 127.0.0.1
+ gsmtap-sapi enable-all
+ no gsmtap-sapi pdtch
+ no gsmtap-sapi ptcch
+ min-qual-rach 50
+ min-qual-norm -5
+ !settsc
+ pcu-socket /tmp/pcu_sock
+ osmux
+ use on
+ local-ip 127.0.0.11
+ local-port 1984
+ trx 0
+ power-ramp max-initial 0 mdBm
+ power-ramp step-size 8000 mdB
+ power-ramp step-interval 1
+ phy 0 instance 0
+ power-ramp step-size 2000 mdB
+ trx 1
+ power-ramp max-initial 0 mdBm
+ power-ramp step-size 8000 mdB
+ power-ramp step-interval 1
+ phy 0 instance 1
+ power-ramp step-size 2000 mdB
+ trx 2
+ power-ramp max-initial 0 mdBm
+ power-ramp step-size 8000 mdB
+ power-ramp step-interval 1
+ phy 0 instance 2
+ power-ramp step-size 2000 mdB
+ trx 3
+ power-ramp max-initial 0 mdBm
+ power-ramp step-size 8000 mdB
+ power-ramp step-interval 1
+ phy 0 instance 3
+ power-ramp step-size 2000 mdB
+ oml remote-ip 127.0.0.1
+ctrl
+ bind 127.0.0.1
diff --git a/tests/osmo-config-merge/testB.cfg b/tests/osmo-config-merge/testB.cfg
new file mode 100644
index 0000000..4cb95cf
--- /dev/null
+++ b/tests/osmo-config-merge/testB.cfg
@@ -0,0 +1,130 @@
+!
+! OsmoSTP (1.1.0.2-3884) configuration saved from vty
+!!
+!
+log gsmtap 127.0.0.1
+ logging level set-all debug
+ logging filter all 1
+log stderr
+ logging filter all 1
+ logging print file basename last
+ logging print category-hex 0
+ logging print category 1
+ logging print level 1
+ logging color 1
+ logging timestamp 1
+ logging print extended-timestamp 1
+ logging level set-all debug
+!
+stats interval 5
+!
+line vty
+ no login
+ bind 127.0.0.1
+!
+cs7 instance 0
+ point-code format 24
+ asp asp-sender-tcp 9999 2905 m3ua tcp
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ transport-role server
+ asp asp-client0-tcp 10002 2906 m3ua tcp
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ transport-role client
+ as as-sender-tcp m3ua
+ asp asp-sender-tcp
+ routing-key 1123 123
+ as as-client-tcp m3ua
+ routing-key 1155 155
+ asp asp-client0-tcp
+ route-table system
+ update route 123 16777215 linkset as-sender-tcp
+ update route 155 16777215 linkset as-client-tcp
+ listen m3ua 2905 tcp
+ local-ip 127.0.0.1
+ local-ip ::1
+ accept-asp-connections dynamic-permitted
+!
+!M3UA AS/ASP:
+!
+ asp asp-sender 9999 2905 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ sctp-role server
+ asp asp-receiver0 10000 2905 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ sctp-role server
+ asp asp-receiver1 10001 2905 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ sctp-role server
+ asp asp-client0 10002 2906 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ sctp-role client
+ asp asp-client60-norctx0 11060 2907 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ sctp-role client
+ asp asp-client61-norctx0 11061 2907 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ sctp-role client
+ as as-sender m3ua
+ asp asp-sender
+ routing-key 1023 23
+ as as-receiver m3ua
+ asp asp-receiver0
+ asp asp-receiver1
+ routing-key 1042 42
+ as as-client m3ua
+ routing-key 1055 55
+ asp asp-client0
+ as as-client60-norctx m3ua
+ routing-key 0 60
+ asp asp-client60-norctx0
+ as as-client61-norctx m3ua
+ routing-key 0 61
+ asp asp-client61-norctx0
+!
+! ROUTING TABLE:
+!
+ route-table system
+ update route 23 16777215 linkset as-sender
+ update route 42 16777215 linkset as-receiver
+ update route 55 16777215 linkset as-client
+ update route 60 16777215 linkset as-client60-norctx
+ update route 61 16777215 linkset as-client61-norctx
+!
+!SERVERS:
+!
+ listen m3ua 2905
+ local-ip 127.0.0.1
+ local-ip ::1
+ accept-asp-connections dynamic-permitted
diff --git a/tests/osmo-config-merge/testB.confmerge b/tests/osmo-config-merge/testB.confmerge
new file mode 100644
index 0000000..712e2a9
--- /dev/null
+++ b/tests/osmo-config-merge/testB.confmerge
@@ -0,0 +1,72 @@
+cs7 instance 0
+ !
+ ! IPA AS/ASP:
+ !
+ asp ipa-asp-loadshare-sender0 20000 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ asp ipa-asp-loadshare-sender1 20001 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ as ipa-as-loadshare-sender ipa
+ routing-key 0 6
+ point-code override dpc 31
+ asp ipa-asp-loadshare-sender0
+ asp ipa-asp-loadshare-sender1
+ asp ipa-asp-loadshare-receiver0 20002 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ asp ipa-asp-loadshare-receiver1 20003 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ as ipa-as-loadshare-receiver ipa
+ traffic-mode loadshare
+ routing-key 0 7
+ point-code override dpc 32
+ asp ipa-asp-loadshare-receiver0
+ asp ipa-asp-loadshare-receiver1
+ ! Port 2004 is reserved for use with ipa-as-dynamic-asp in TTCN-3.
+ ! OVERRIDE:
+ asp ipa-asp-override-sender 20005 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ as ipa-as-override-sender ipa
+ routing-key 0 6
+ point-code override dpc 33
+ asp ipa-asp-override-sender
+ asp ipa-asp-override-receiver0 20006 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ asp ipa-asp-override-receiver1 20007 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ as ipa-as-override-receiver ipa
+ traffic-mode override
+ routing-key 0 8
+ point-code override dpc 34
+ asp ipa-asp-override-receiver0
+ asp ipa-asp-override-receiver1
+ ! DYNAMIC AS:
+ as ipa-as-dynamic-asp ipa
+ routing-key 0 5
+ point-code override dpc 23
+ !
+ ! ROUTING TABLE:
+ !
+ route-table system
+ update route 31 16777215 linkset ipa-as-loadshare-receiver
+ update route 33 16777215 linkset ipa-as-override-receiver
+ update route 5 16777215 linkset ipa-as-dynamic-asp
+ !
+ !SERVERS:
+ !
+ listen ipa 5000
+ accept-asp-connections dynamic-permitted
diff --git a/tests/osmo-config-merge/testB.ok b/tests/osmo-config-merge/testB.ok
new file mode 100644
index 0000000..64860f8
--- /dev/null
+++ b/tests/osmo-config-merge/testB.ok
@@ -0,0 +1,200 @@
+!
+! OsmoSTP (1.1.0.2-3884) configuration saved from vty
+!!
+!
+log gsmtap 127.0.0.1
+ logging level set-all debug
+ logging filter all 1
+log stderr
+ logging filter all 1
+ logging print file basename last
+ logging print category-hex 0
+ logging print category 1
+ logging print level 1
+ logging color 1
+ logging timestamp 1
+ logging print extended-timestamp 1
+ logging level set-all debug
+!
+stats interval 5
+!
+line vty
+ no login
+ bind 127.0.0.1
+!
+cs7 instance 0
+ point-code format 24
+ asp asp-sender-tcp 9999 2905 m3ua tcp
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ transport-role server
+ asp asp-client0-tcp 10002 2906 m3ua tcp
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ transport-role client
+ as as-sender-tcp m3ua
+ asp asp-sender-tcp
+ routing-key 1123 123
+ as as-client-tcp m3ua
+ routing-key 1155 155
+ asp asp-client0-tcp
+ route-table system
+ update route 123 16777215 linkset as-sender-tcp
+ update route 155 16777215 linkset as-client-tcp
+ update route 31 16777215 linkset ipa-as-loadshare-receiver
+ update route 33 16777215 linkset ipa-as-override-receiver
+ update route 5 16777215 linkset ipa-as-dynamic-asp
+ listen m3ua 2905 tcp
+ local-ip 127.0.0.1
+ local-ip ::1
+ accept-asp-connections dynamic-permitted
+ !
+ ! IPA AS/ASP:
+ !
+ asp ipa-asp-loadshare-sender0 20000 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ asp ipa-asp-loadshare-sender1 20001 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ as ipa-as-loadshare-sender ipa
+ routing-key 0 6
+ point-code override dpc 31
+ asp ipa-asp-loadshare-sender0
+ asp ipa-asp-loadshare-sender1
+ asp ipa-asp-loadshare-receiver0 20002 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ asp ipa-asp-loadshare-receiver1 20003 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ as ipa-as-loadshare-receiver ipa
+ traffic-mode loadshare
+ routing-key 0 7
+ point-code override dpc 32
+ asp ipa-asp-loadshare-receiver0
+ asp ipa-asp-loadshare-receiver1
+ ! Port 2004 is reserved for use with ipa-as-dynamic-asp in TTCN-3.
+ ! OVERRIDE:
+ asp ipa-asp-override-sender 20005 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ as ipa-as-override-sender ipa
+ routing-key 0 6
+ point-code override dpc 33
+ asp ipa-asp-override-sender
+ asp ipa-asp-override-receiver0 20006 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ asp ipa-asp-override-receiver1 20007 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ as ipa-as-override-receiver ipa
+ traffic-mode override
+ routing-key 0 8
+ point-code override dpc 34
+ asp ipa-asp-override-receiver0
+ asp ipa-asp-override-receiver1
+ ! DYNAMIC AS:
+ as ipa-as-dynamic-asp ipa
+ routing-key 0 5
+ point-code override dpc 23
+ !
+ ! ROUTING TABLE:
+ !
+ !
+ !SERVERS:
+ !
+ listen ipa 5000
+ accept-asp-connections dynamic-permitted
+!
+!M3UA AS/ASP:
+!
+ asp asp-sender 9999 2905 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ sctp-role server
+ asp asp-receiver0 10000 2905 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ sctp-role server
+ asp asp-receiver1 10001 2905 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ sctp-role server
+ asp asp-client0 10002 2906 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ sctp-role client
+ asp asp-client60-norctx0 11060 2907 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ sctp-role client
+ asp asp-client61-norctx0 11061 2907 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ sctp-role client
+ as as-sender m3ua
+ asp asp-sender
+ routing-key 1023 23
+ as as-receiver m3ua
+ asp asp-receiver0
+ asp asp-receiver1
+ routing-key 1042 42
+ as as-client m3ua
+ routing-key 1055 55
+ asp asp-client0
+ as as-client60-norctx m3ua
+ routing-key 0 60
+ asp asp-client60-norctx0
+ as as-client61-norctx m3ua
+ routing-key 0 61
+ asp asp-client61-norctx0
+!
+! ROUTING TABLE:
+!
+ route-table system
+ update route 23 16777215 linkset as-sender
+ update route 42 16777215 linkset as-receiver
+ update route 55 16777215 linkset as-client
+ update route 60 16777215 linkset as-client60-norctx
+ update route 61 16777215 linkset as-client61-norctx
+!
+!SERVERS:
+!
+ listen m3ua 2905
+ local-ip 127.0.0.1
+ local-ip ::1
+ accept-asp-connections dynamic-permitted
diff --git a/tests/osmo-config-merge/testB2.cfg b/tests/osmo-config-merge/testB2.cfg
new file mode 100644
index 0000000..4cb95cf
--- /dev/null
+++ b/tests/osmo-config-merge/testB2.cfg
@@ -0,0 +1,130 @@
+!
+! OsmoSTP (1.1.0.2-3884) configuration saved from vty
+!!
+!
+log gsmtap 127.0.0.1
+ logging level set-all debug
+ logging filter all 1
+log stderr
+ logging filter all 1
+ logging print file basename last
+ logging print category-hex 0
+ logging print category 1
+ logging print level 1
+ logging color 1
+ logging timestamp 1
+ logging print extended-timestamp 1
+ logging level set-all debug
+!
+stats interval 5
+!
+line vty
+ no login
+ bind 127.0.0.1
+!
+cs7 instance 0
+ point-code format 24
+ asp asp-sender-tcp 9999 2905 m3ua tcp
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ transport-role server
+ asp asp-client0-tcp 10002 2906 m3ua tcp
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ transport-role client
+ as as-sender-tcp m3ua
+ asp asp-sender-tcp
+ routing-key 1123 123
+ as as-client-tcp m3ua
+ routing-key 1155 155
+ asp asp-client0-tcp
+ route-table system
+ update route 123 16777215 linkset as-sender-tcp
+ update route 155 16777215 linkset as-client-tcp
+ listen m3ua 2905 tcp
+ local-ip 127.0.0.1
+ local-ip ::1
+ accept-asp-connections dynamic-permitted
+!
+!M3UA AS/ASP:
+!
+ asp asp-sender 9999 2905 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ sctp-role server
+ asp asp-receiver0 10000 2905 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ sctp-role server
+ asp asp-receiver1 10001 2905 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ sctp-role server
+ asp asp-client0 10002 2906 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ sctp-role client
+ asp asp-client60-norctx0 11060 2907 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ sctp-role client
+ asp asp-client61-norctx0 11061 2907 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ sctp-role client
+ as as-sender m3ua
+ asp asp-sender
+ routing-key 1023 23
+ as as-receiver m3ua
+ asp asp-receiver0
+ asp asp-receiver1
+ routing-key 1042 42
+ as as-client m3ua
+ routing-key 1055 55
+ asp asp-client0
+ as as-client60-norctx m3ua
+ routing-key 0 60
+ asp asp-client60-norctx0
+ as as-client61-norctx m3ua
+ routing-key 0 61
+ asp asp-client61-norctx0
+!
+! ROUTING TABLE:
+!
+ route-table system
+ update route 23 16777215 linkset as-sender
+ update route 42 16777215 linkset as-receiver
+ update route 55 16777215 linkset as-client
+ update route 60 16777215 linkset as-client60-norctx
+ update route 61 16777215 linkset as-client61-norctx
+!
+!SERVERS:
+!
+ listen m3ua 2905
+ local-ip 127.0.0.1
+ local-ip ::1
+ accept-asp-connections dynamic-permitted
diff --git a/tests/osmo-config-merge/testB2.confmerge b/tests/osmo-config-merge/testB2.confmerge
new file mode 100644
index 0000000..bf484e3
--- /dev/null
+++ b/tests/osmo-config-merge/testB2.confmerge
@@ -0,0 +1,72 @@
+cs7 instance 0
+!
+! IPA AS/ASP:
+!
+ asp ipa-asp-loadshare-sender0 20000 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ asp ipa-asp-loadshare-sender1 20001 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ as ipa-as-loadshare-sender ipa
+ routing-key 0 6
+ point-code override dpc 31
+ asp ipa-asp-loadshare-sender0
+ asp ipa-asp-loadshare-sender1
+ asp ipa-asp-loadshare-receiver0 20002 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ asp ipa-asp-loadshare-receiver1 20003 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ as ipa-as-loadshare-receiver ipa
+ traffic-mode loadshare
+ routing-key 0 7
+ point-code override dpc 32
+ asp ipa-asp-loadshare-receiver0
+ asp ipa-asp-loadshare-receiver1
+! Port 2004 is reserved for use with ipa-as-dynamic-asp in TTCN-3.
+! OVERRIDE:
+ asp ipa-asp-override-sender 20005 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ as ipa-as-override-sender ipa
+ routing-key 0 6
+ point-code override dpc 33
+ asp ipa-asp-override-sender
+ asp ipa-asp-override-receiver0 20006 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ asp ipa-asp-override-receiver1 20007 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ as ipa-as-override-receiver ipa
+ traffic-mode override
+ routing-key 0 8
+ point-code override dpc 34
+ asp ipa-asp-override-receiver0
+ asp ipa-asp-override-receiver1
+! DYNAMIC AS:
+ as ipa-as-dynamic-asp ipa
+ routing-key 0 5
+ point-code override dpc 23
+!
+! ROUTING TABLE:
+!
+ route-table system
+ update route 31 16777215 linkset ipa-as-loadshare-receiver
+ update route 33 16777215 linkset ipa-as-override-receiver
+ update route 5 16777215 linkset ipa-as-dynamic-asp
+!
+!SERVERS:
+!
+ listen ipa 5000
+ accept-asp-connections dynamic-permitted
diff --git a/tests/osmo-config-merge/testB2.ok b/tests/osmo-config-merge/testB2.ok
new file mode 100644
index 0000000..6a44388
--- /dev/null
+++ b/tests/osmo-config-merge/testB2.ok
@@ -0,0 +1,199 @@
+!
+ asp ipa-asp-loadshare-sender0 20000 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ asp ipa-asp-loadshare-sender1 20001 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ as ipa-as-loadshare-sender ipa
+ routing-key 0 6
+ point-code override dpc 31
+ asp ipa-asp-loadshare-sender0
+ asp ipa-asp-loadshare-sender1
+ asp ipa-asp-loadshare-receiver0 20002 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ asp ipa-asp-loadshare-receiver1 20003 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ as ipa-as-loadshare-receiver ipa
+ traffic-mode loadshare
+ routing-key 0 7
+ point-code override dpc 32
+ asp ipa-asp-loadshare-receiver0
+ asp ipa-asp-loadshare-receiver1
+ route-table system
+ update route 31 16777215 linkset ipa-as-loadshare-receiver
+ update route 33 16777215 linkset ipa-as-override-receiver
+ update route 5 16777215 linkset ipa-as-dynamic-asp
+ listen ipa 5000
+ accept-asp-connections dynamic-permitted
+! OsmoSTP (1.1.0.2-3884) configuration saved from vty
+!!
+!
+log gsmtap 127.0.0.1
+ logging level set-all debug
+ logging filter all 1
+log stderr
+ logging filter all 1
+ logging print file basename last
+ logging print category-hex 0
+ logging print category 1
+ logging print level 1
+ logging color 1
+ logging timestamp 1
+ logging print extended-timestamp 1
+ logging level set-all debug
+!
+stats interval 5
+!
+line vty
+ no login
+ bind 127.0.0.1
+!
+cs7 instance 0
+ point-code format 24
+ asp asp-sender-tcp 9999 2905 m3ua tcp
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ transport-role server
+ asp asp-client0-tcp 10002 2906 m3ua tcp
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ transport-role client
+ as as-sender-tcp m3ua
+ asp asp-sender-tcp
+ routing-key 1123 123
+ as as-client-tcp m3ua
+ routing-key 1155 155
+ asp asp-client0-tcp
+ route-table system
+ update route 123 16777215 linkset as-sender-tcp
+ update route 155 16777215 linkset as-client-tcp
+ listen m3ua 2905 tcp
+ local-ip 127.0.0.1
+ local-ip ::1
+ accept-asp-connections dynamic-permitted
+!
+!M3UA AS/ASP:
+!
+ asp asp-sender 9999 2905 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ sctp-role server
+ asp asp-receiver0 10000 2905 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ sctp-role server
+ asp asp-receiver1 10001 2905 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role sg
+ sctp-role server
+ asp asp-client0 10002 2906 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ sctp-role client
+ asp asp-client60-norctx0 11060 2907 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ sctp-role client
+ asp asp-client61-norctx0 11061 2907 m3ua
+ local-ip 127.0.0.1
+ local-ip ::1
+ remote-ip 127.0.0.1
+ remote-ip ::1
+ role asp
+ sctp-role client
+ as as-sender m3ua
+ asp asp-sender
+ routing-key 1023 23
+ as as-receiver m3ua
+ asp asp-receiver0
+ asp asp-receiver1
+ routing-key 1042 42
+ as as-client m3ua
+ routing-key 1055 55
+ asp asp-client0
+ as as-client60-norctx m3ua
+ routing-key 0 60
+ asp asp-client60-norctx0
+ as as-client61-norctx m3ua
+ routing-key 0 61
+ asp asp-client61-norctx0
+!
+! ROUTING TABLE:
+!
+ route-table system
+ update route 23 16777215 linkset as-sender
+ update route 42 16777215 linkset as-receiver
+ update route 55 16777215 linkset as-client
+ update route 60 16777215 linkset as-client60-norctx
+ update route 61 16777215 linkset as-client61-norctx
+!
+!SERVERS:
+!
+ listen m3ua 2905
+ local-ip 127.0.0.1
+ local-ip ::1
+ accept-asp-connections dynamic-permitted
+cs7 instance 0
+!
+! IPA AS/ASP:
+! Port 2004 is reserved for use with ipa-as-dynamic-asp in TTCN-3.
+! OVERRIDE:
+ asp ipa-asp-override-sender 20005 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ as ipa-as-override-sender ipa
+ routing-key 0 6
+ point-code override dpc 33
+ asp ipa-asp-override-sender
+ asp ipa-asp-override-receiver0 20006 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ asp ipa-asp-override-receiver1 20007 5000 ipa
+ local-ip 127.0.0.1
+ remote-ip 127.0.0.1
+ role sg
+ sctp-role server
+ as ipa-as-override-receiver ipa
+ traffic-mode override
+ routing-key 0 8
+ point-code override dpc 34
+ asp ipa-asp-override-receiver0
+ asp ipa-asp-override-receiver1
+! DYNAMIC AS:
+ as ipa-as-dynamic-asp ipa
+ routing-key 0 5
+ point-code override dpc 23
+!
+! ROUTING TABLE:
+!
+!SERVERS:
diff --git a/tests/osmo-config-merge/testsuite.at b/tests/osmo-config-merge/testsuite.at
new file mode 100644
index 0000000..0b9bd85
--- /dev/null
+++ b/tests/osmo-config-merge/testsuite.at
@@ -0,0 +1,20 @@
+AT_INIT
+AT_BANNER([osmo-config-merge regression tests.])
+
+AT_SETUP([testA])
+AT_KEYWORDS([testA])
+cat $abs_srcdir/testA.ok > expout
+AT_CHECK([$abs_top_builddir/utils/osmo-config-merge $abs_srcdir/testA.cfg $abs_srcdir/testA.confmerge], [0], [expout])
+AT_CLEANUP
+
+AT_SETUP([testB])
+AT_KEYWORDS([testB])
+cat $abs_srcdir/testB.ok > expout
+AT_CHECK([$abs_top_builddir/utils/osmo-config-merge $abs_srcdir/testB.cfg $abs_srcdir/testB.confmerge], [0], [expout])
+AT_CLEANUP
+
+AT_SETUP([testB2])
+AT_KEYWORDS([testB2])
+cat $abs_srcdir/testB2.ok > expout
+AT_CHECK([$abs_top_builddir/utils/osmo-config-merge $abs_srcdir/testB2.cfg $abs_srcdir/testB2.confmerge], [0], [expout])
+AT_CLEANUP
To view, visit change 40295. To unsubscribe, or for help writing mail filters, visit settings.