Skip to content
Success

#21 (Aug 27, 2025, 9:51:46 AM)

Started 5 mo 23 days ago
Took 2 min 40 sec on build4-deb12build-ansible

Started by user Oliver Smith

This run spent:

  • 5 ms waiting;
  • 2 min 40 sec build duration;
  • 2 min 40 sec total from scheduled to completion.
Revision: cfdf5c6decad947b13717c8ae8f9aa1642a8966b
Repository: https://gerrit.osmocom.org/osmo-ttcn3-hacks
  • refs/remotes/origin/osmith/wip
testenv: fix missing titan_min= error msg

Fixes: 98268b665 ("testenv: add titan_min to all configs")
Change-Id: I0eb99da16ba6ffd5ae936aa63bb770e2a73fdd25
Oliver Smith at
pgw: initial testenv.cfg

All tests are passing with this config.

Related: OS#6494
Change-Id: I0f14ce56859c3303b2f6af57d7ab5722e0cbe8e0
Oliver Smith at
stp: Expect and answer M3UA BEAT from IUT

This fixes tests failing with newer versions of libosmo-sigtran where
HEARTBEAT procedure is enabled by default.

Change-Id: Idb70acde0683bc053db20781ce4926fbc318f51f
Pau Espin Pedrol at
IPA_Emulation.ttcn: Add call to support dis/enabling CCM management

This allows eg. a user to let the Emulation do the inital handshake, and
then pass control of eg. IPA PING/PONG messages directly to the user
afterwards.

Change-Id: If68e0ba36c3a56f021dd50aadf2156ddc696b816
Pau Espin Pedrol at
stp: IPA: Introduce test TC_beat

Similar to the one already available in STP_Tests_M3UA, but testing
PING/PONG in IPA.

Change-Id: I3d762fb4780aaa9931c3841cce69da6ee95529f3
Pau Espin Pedrol at
stp: IPA: Introduce test TC_beat_timeout

Change-Id: I6f16915238d7762faf1c63fdeccca7e4a5f20893
Related: SYS#7501
Related: OS#4072
Pau Espin Pedrol at
stp: IPA: Introduce test TC_clnt_beat_timeout

Change-Id: I5a41857dbd9f0bfe40a3a539aaed8361bc29fd6b
Related: SYS#7501
Related: OS#4072
Pau Espin Pedrol at
stp: Introduce test TC_(m3ua_tcp(clnt_))beat_timeout

Related: SYS#7501
Related: OS#4072
Change-Id: Ie0c430b7992881e8ae506fe6434f06946f8f6278
Pau Espin Pedrol at
epdg/testenv/run_osmo_epdg…: fix ip link ls output

In the code that waits until the tun device is available, fix the
silencing of stdout and stderr.

Change-Id: I8ce8824930e8841dddd7a67d178d5140e4f71b84
Oliver Smith at
epdg/testenv/run_osmo_epdg…: wait up to 30s

Wait up to 30s for the tun device as waiting 10s is not enough if
jenkins is under high load.

Related: https://jenkins.osmocom.org/jenkins/job/ttcn3-epdg-test-net-next/29/console
Change-Id: Ia7298275b92f30efc40e9d6afa1abc8d7c5536d6
Oliver Smith at
Bump titan_min to 11.1.0 where possible

I ran the generic version of all testsuites in the Osmocom jenkins with
eclipse-titan 11.1.0. Bump titan_min where we have the same result as
with 9.0.0.

The only testsuite that still didn't work the same is the gbproxy
testsuite (OS#6800), keep titan_min=9.0.0 there for now.

Related: OS#6490
Change-Id: Iba562ace07e6f38a8cde15b17478a0a1680df2fc
Oliver Smith at
testenv/podman_install: fix regex warning

Fix for the following warning with Python 3.12.3:

  …/testenv/podman_install.py:120: SyntaxWarning: invalid escape sequence '\d'
    pattern = re.compile("^\d+\.\d+\.\d+$")

Change-Id: I33ef4e16f3d3e4fa627f726d6fddd950b7826620
Oliver Smith at
stp: m3ua: Introduce test TC_combinedlset_loadshare

Test combined linkset loadsharing on M3UA AS.

Related: SYS#7112
Change-Id: I20a67648072f4d9839b1d1fceded1680362bf979
Pau Espin Pedrol at
stp: Add helper function to build SCCP UDT encoded octetstring

Change-Id: I67961807bba4853b58e4b6f87eb3f2b56e9bb027
Pau Espin Pedrol at
stp: ipa: Introduce test TC_combinedlset_loadshare

Test combined linkset loadsharing on IPA AS.

Change-Id: I029ac9f3c664d2f30cddc36f6eb1b39295689247
Related: SYS#7112
Pau Espin Pedrol at
Fix typo unknwon -> unknown

Change-Id: I483090332931d85a8808bd558c4d4ac4d36fa16b
Pau Espin Pedrol at
stp: Fix recent regression introduced in TC_ipa_to_m3ua_patch_sccp

The introduced function f_SCCP_UDT() had the calling+called param order
swapped with regards to previous templates. Change the order to first
have "calling" (src) and then "called" (dst) as already done in
ts_SCCP_UDT.
While at it, change the ts_SCCP_UDT params to accept template (value) to
make it easier for callers.

Fixes: b686e914b60d6e2486667fa8227576a70a86c909
Change-Id: I0e158557dabdb7e94d1c00a6d67126f2d85bb4cd
Pau Espin Pedrol at
pcu: TC_sns_del: improve test stability

Add a sleep 1 to ensure the BSSGP flow Ack flows before removing the SNS.
Further add a data weight to the other NSVC to have at least one valid
NSVC with data weights. Otherwise the NSEI would become unavailable.

Related: OS#6751
Change-Id: Icb32e5f46ba7950848343efc46aee67e2397de5d
lynxis at
remsim: bankd: add TC for creating a mapping with a busy client

Test if a busy client is implicit removed when creating a new mapping
for the same client with a different bankd slot.

After a desynchronisation between the server and bankd happen (e.g. restart the server),
the server might request a mapping between a client slot and a bankd slot
while the bankd still has a different mapping for the same client slot.

Example before this commit:
* server -> bankd: New Mapping (client 1/0, bankd 1/0)
* server <- bankd: Ack
* Restart server
* server -> bankd: New Mapping (client 1/0, bankd 2/0)
* server <- bankd: Ack (implicit remove mapping to bankd 1/0)

Related: SYS#7470
Change-Id: I57112758167c2a29fae9df0cf1e2691c5a8e7bed
lynxis at
bsc: generic: Introduce test TC_stat_msc_sctp_disconnected

Take the chance to properly configure all ASP/AS data statically, in
order to be able to access them through VTY as well as have the setup
properly documented in the config files.

Change-Id: I028a16e2742ff0c58bf3b51ee1233ccf947a5a6a
Related: OS#5917
Related: SYS#7501
Pau Espin Pedrol at
stp: Support expect RFC466 4.5.1 DUNA after ASP ACT

libosmo-sigtran recently introduced support in SG role to send DUNA for
unreachablew destinations when a peer ASP becomes activated.
This is currently sent upon first ASP going active, since it's the time
where SG assumes the ASP peer may need that information.

Depends: libosmo-sigtran.git Id9d92c3fda7423a9c79fffac6b650abba9651853
Change-Id: I6bee0f890a8baaa62be193824b1ae2fceb53fb45
Pau Espin Pedrol at
Cosmetic: testenv: tweak argparse formatting

Make all "add_argument" calls consistently have one function argument in
one line, instead of only having it in some places, and have all
arguments in one line in others. Having one function arg in one line is
enforced via ruff format when having a comma at the end of the function
call.

Change-Id: Ia1804f0313a27ddf8f7197ce0b2ad3b56421b290
Oliver Smith at
testenv: add run --asan

Add a new --asan option for building Osmocom libraries and programs from
source with address sanitizer enabled. This works by adding
sanitize.opts to osmo-dev's gen_makefile.py, which in turn adds
--enable-sanitize to most Osmocom projects.

The --autoreconf-in-src-copy argument for gen_makefile.py must be moved
up, so the list of *.opts files is not interrupted by another type of
argument that causes argument parsing to fail.

Suggested-by: Pau Espin Pedrol <pespin@sysmocom.de>
Related: https://gitea.osmocom.org/osmocom/osmo-dev/src/branch/master/sanitize.opts
Change-Id: I1947dd3a7d9ce51dcbef9cffd5d7b402f236b9e2
Oliver Smith at
bsc-sccplite: Fix override of opc of incoming msgs

This patch fixes a regression introduced recently in a patch. We
basically revert that line change. This fixes osmo-bsc crashes
spotted during ttcn3-bsc-test-sccplite.

Fixes: 40c73568c77ee3747a02fce2cf031d723a938207
Related: OS#6806
Change-Id: I9764f4020e80e954de61ff9ba4d8ce959359be8e
Pau Espin Pedrol at
bsc: Avoid running TC_stat_msc_sctp_disconnected in latest

The osmo-stp in latest release, aside from not yet implementing the
"shutdown" cmd (which is known and hence test was expected to fail
there), has a side effect of ending up with a broken state after
restarting the ASP during got_parent() VTY node exit, where ASP is
ends up in ASP_DOWN and AS in AS_ACTIVE. This generates failures in all
tests after this one._

Change-Id: Icce4ec089b300f418e957ab67464759c782811a4
Related: OS#5917
Related: SYS#7501
Fixes: 40c73568c77ee3747a02fce2cf031d723a938207
Pau Espin Pedrol at
PCU: TC_sns_del: expect NS Alive while preparing the test

f_outgoing_sns_chg_weight() should handle NS Alive until
it do the SNS Delete procedure.

Related: OS#6751
Change-Id: I7c0991819de48b59e763fbe1ef6df4567c38007c
lynxis at
RAW_NS: SNS: allow to set the transaction id of Add/Chg/Del procedures

Using hardcoded transaction ids are working, but for the TC_SNS_del it would
result in descending transaction ids.

Related: OS#6751
Change-Id: I1ea0424232ed925fee623568eb0edccdf1ae0368
lynxis at
RAN_Emulation.ttcnpp: Log ignored rx RANAP msg when no cb set

Change-Id: I15b6fea2d44ab9607db020e1152ee1fd79839a52
Pau Espin Pedrol at
StatsD_Checker: Allow configuring timeout

Change-Id: I183ad5810468cba5bfec20eb584a27462fde980c
Pau Espin Pedrol at
StatsD_Checker: Keep polling IUT if waiting for convergence

The wait_converge feature was implemented and used so far only against
IUTs which used also the snapshot feature, due to not having a VTY which
allows both resetting and triggering a status report manually. Instead,
those relied on IUT reporting changes at a given frequency.

If the wait_converge feature is requested and polling mode is used, then
make sure we poll once per second after last received statsd UDP msg.

Change-Id: Id78b46b88048206f74d1d88672b8309227e9438c
Pau Espin Pedrol at
bsc: TC_mscpool_sccp_n_pcstate_detaches_msc: wait for AS to become unavailable

Otherwise race conditions can ocurr, specially since during some time
the AS can be in PENDING state until finally going into DOWN state and
notifying the peer.

Change-Id: Idc84929d89cbac4eb67cd2740f98844253dde70d
Pau Espin Pedrol at
hnbgw: Use static sigtran config between osmo-hnbgw and osmo-stp

This allows referencing/accessing the specific ASP in osmo-stp, which
will be needed in a follow-up commit to test IUT behavior when the SCTP
conn is dropped.

Related: OS#5917
Change-Id: Icbec561e28db8e0da19a284b3ba73636ea5c8210
Pau Espin Pedrol at
hnbgw: Introduce test TC_stat_stp_sctp_disconnected

Related: OS#5917
Depends: libosmo-sigtran.git Change-Id I7e4eedb65c4f2952f8b39ca4c539ca2f40e9946c
Change-Id: I079f2da09ff8d52e614ff6f5d267cd5429e4eb58
Pau Espin Pedrol at
hnbgw: swap first MSC and SGSN PC to be usual default ones

0.23.1 and 0.23.4 are default remote PCs to be used by osmo-hnbgw to
reach MSC and SGSN respectively, if no config is provided. In this
testsuite config, however, they were swapped, which is confusing.
Swap back the values so they match the default ones in osmo-hnbgw.

Change-Id: Ib62258e340ecf8cbe1026e43ccccc6bf98932244
Pau Espin Pedrol at
msc: Use static sigtran config between osmo-msc and osmo-stp

This allows referencing/accessing the specific ASP in osmo-stp, which
will be needed in a follow-up commit to test IUT behavior when the SCTP
conn is dropped.

Related: OS#5917

Change-Id: Id78aac528b10a8449b83075419b74315d838d4a4
Pau Espin Pedrol at
RAN_Emulation: Fix handling of IMSI in RANAP Paging

The IMSI in RANAP Paging messages is encoded in octetstring BCD format.
We need to decode it before using it, since we use plain hexstrings
everywhere in the module to manage IMSIs.

Take the chance to clean up and improve logging on related lines, both
for BSSAP and RANAP.

Change-Id: Ia892a52bad41a4e331703bbab438d8c811b2025e
Pau Espin Pedrol at
msc: Add suport to obtain statsd output

It will be used in a follow-up commit introducing a new test.

Change-Id: I66ffb278a7ddff975e43f72d9ec6b323705f720c
Pau Espin Pedrol at
msc: Introduce test TC_stat_bsc_sctp_disconnected

Related: OS#5917
Depends: osmo-msc.git Change-Id Ice1b2c163b1b0d134fcaa1c8bf543038a35fabdf
Change-Id: I4cf30ea09cb1d1286bd5ab6975f3f27e39b9c183
Pau Espin Pedrol at
GSUP Fix missing IMSI template present restriction in tr_GSUP_SAI_REQ

I got this DTE while running SGSN_Tests_Iu.TC_attach_pdp_act_user:
"""
GSUP_Templates.ttcn:381 Dynamic test case error: Restriction `present' on template of type hexstring violated.
"""

According to GSUP documentation, the IMSI param is mandatory.
Upon fixing it, the compiler found the user causing the problem:
"""
BSSGP_ConnHdlr.ttcn:797.49: error: Restriction on template formal parameter does not allow usage of any or omit
"""

That error is also fixed in this same commit.

Change-Id: Iea712df2f922fe5eb16e116f7a4609a0e20233b4
Pau Espin Pedrol at
sgsn: Use static sigtran config between osmo-sgsn and osmo-stp

This allows referencing/accessing the specific ASP in osmo-stp, which
will be needed in a follow-up commit to test IUT behavior when the SCTP
conn is dropped.

Related: OS#5917

Change-Id: Ie52f4c1877587067af66add56ad8674b82b51718
Pau Espin Pedrol at
sgsn: Introduce test TC_stat_rnc_sctp_disconnected

The commit doesn't validate everything it should, because passing the
indication from osmo-iuh's iu_client to app (osmo-sgsn) is not
supported in current API, and hence the statsd metrics are not yet
implemented in osmo-sgsn.

Still, this test already validates that osmo-sgsn is capable of
surviving an sctp link down event in IuPS, and continue to work
afterwards. IT also allows easily debugging this scenario by inspecting
pcap files, logs, etc.

Related: OS#5917
Change-Id: I35888630ea9e9005e1252677c5d42f66f84e177b
Pau Espin Pedrol at
smlc: Use static sigtran config between osmo-msc and osmo-stp

This allows referencing/accessing the specific ASP in osmo-stp, which
will be needed in a follow-up commit to test IUT behavior when the SCTP
conn is dropped.

Change-Id: I008dba252da29f445c52151c7b65428ca7054ed0
Related: OS#5917
Pau Espin Pedrol at
smlc: Add suport to obtain statsd output

It will be used in a follow-up commit introducing a new test.

Change-Id: I52813397890a85326a85b3580fd605f9ac10a26d
Pau Espin Pedrol at
sctp: Introduce test TC_stat_bsc_sctp_disconnected

Change-Id: Ic67d9d8120e9bd09b0e54b237e93f49f79262be0
Related: OS#5917
Depends: osmo-smlc.git Change-Id Ib01576036f34ac7f21c5bce0155b50932eb9b72a
Pau Espin Pedrol at
hnbgw: Use static sigtran config also in osmo-hnbgw-with-pfcp.cfg

Previous commit did set static configuration in osmo-hnbgw.cfg (generic)
but forgot to add the same to the with-pfcp scenario.

Fixes: 88d6666056d6cdc899d6c102fc379f8a469a725e
Change-Id: I20979cbd5cf7e9d8c109f72d5f84c4fbe26b44ca
Pau Espin Pedrol at
smlc: fix running against latest

osmo-smlc from latest doesn't support statsd yet. Use a separate config
that doesn't have the statsd block and don't try to initialize it for
latest.

Change-Id: If7b1d46777703f0511ee15520571d0313bdfa5ed
Fixes: 5268d5 ("smlc: Add suport to obtain statsd output")
Oliver Smith at
SGSN: Iu: use correct service request type

When the UE wants to transfer data, the Service Request
must have the type data.
Remove the default of f_service_request() to force
explicit defining it.

Change-Id: Ia47edd8ca916cf377da875583a3c4eb6ff5f1f52
lynxis at
testenv/requirements: update link

Adjust the link, as the Latest_Builds wiki page was merged into
Binary_Packages.

Change-Id: Ie8a6df2f8fd08983532c8a757ae1849792fbd5b3
Oliver Smith at
testenv: run requirements check before cfg init

When parsing testenv.cfg files, the titan_min version gets compared with
the installed titan version. This fails with a python trace if titan is
not installed. Catch this earlier by running the requirements check
first, which ensures ttcn3_compiler is avaiable or gives a helpful error
message:

  [testenv] Missing program: ttcn3_compiler
  [testenv]   Install eclipse-titan, e.g. from osmocom:latest:
  [testenv]   https://osmocom.org/projects/cellular-infrastructure/wiki/Binary_Packages

Fixes: 18eef740 ("testenv: support using multiple titan versions")
Change-Id: I09ed7af5b236aeffd910d7c0a1a0b63a78631ade
Oliver Smith at
testenv/requirements: simplify rsync checks

rsync is needed by osmo-dev for the autoreconf-in-src-copy feature that
testenv uses.

* Don't require rsync when running in podman. This is not necessary
  anymore since 92b3784 ("testenv: remove copy_ttcn3_hacks_dir").

* Combine the "if not testenv.args.binary_repo" code path with the
  "if not testenv.args.podman" code path, as --binary_repo can't be set
  without --podman.

Change-Id: I4fd885aa6c9b6801e18043f783bae357da716d19
Oliver Smith at
NGAP_Templates: Fix wrong IEs passed to InitialContextSetupResponse

Change-Id: I7b385456e45505cb4655adda5ad5aba36fc96a4b
Pau Espin Pedrol at
Dockerfile: upgrade to libfftranscode 0.6 (updated NGAP ASN.1 to V17.5.0)

Change-Id: I57c2f9adbb2f691f28ab936f09db3c24bdfeef5f
Pau Espin Pedrol at
ngap: Fix deviation in ASN1 from TS 38.413 version 17.5.0

I originally copied the ASN1 files from https://forge.etsi.org/rep/int/5g-core/ngap.git
directory ttcn/LibNGAP/lib/asn1, commit fa43d01e202379a969e991a9454d9c6c6930b5b5.

Apparently one file contained a deviation from the 3GPP content and it
was also fixed in ngap.git in 47e7239dd80f2f12a4cbcdd7977ca0a32356f3be.

I found out this problem when trying to use this ASN1 file to generate
new libfftranscode, which then failed to properly decode
DownlinkNASTransport due to the deviation.

Change-Id: I7d127998ea162a392f3381ebb1d198ad3c783a56
Pau Espin Pedrol at
library/ngap: Use titan native APER enc/dec

Related: OS#6490
Change-Id: I07b604fbd5d3665fdb48c4193ab58cffa7dd709a
Pau Espin Pedrol at
Cosmetic: deps/Makefile: update comments

Remove the part about caching logic of docker containers, as most
testsuites don't use docker-playground anymore. The main reason for
using commits here is that we have exact commits when doing regression
testing.

Replace the verbose license header with the SPDX version while at it.

Change-Id: I7eddc64aeab20292922ba013221679dfe952ff45
Oliver Smith at
5gc: Support PDU Session Establishment procedure

This commit adds initial support to issue a successful PDU Session
Establishment procedure towards the 5GC, getting a ready-to-use GTPU
session with IPv4 addr + TEID + UE IP address.

commit has to our nas.git fork is updated in order to have multiple
fixes and improvements needed to have everything working fine.

Related: SYS#7073
Change-Id: If0769afd07a4bae7778d7a7c347cebaa5909b5f8
Pau Espin Pedrol at
Split GTPv1U out of GTPv2_Emulation

GTPv1U and GTPv2C are 2 different protocols, working on 2 different
ports, on 2 different sockets.
Hence, it makes no sense to put them together, since some tests may want
to use only the control-plane, others may want to use the user-plane,
etc.
Morevoer, GTPv1U can be used together with both GTPv2C anf GTPv1C.

This commit also fixes the confusion where TEIC and TEID were not
properly separated in GTPv2_Emulation.

Change-Id: Ia45307107753294c6761cb588f0ab769821eb213
Pau Espin Pedrol at
GTP1vU_Emulation: Make UECUPS support optional

Some users may/do want to use the simple UDP/GTPU socket mode, so they
don't need to depend on all UECUPS code.

Change-Id: I3b4671d8e637f70f790b08ed8e3b5145e7a95703
Pau Espin Pedrol at
gbproxy: Drop unneeded GTP dependencies

Change-Id: Id282bf63ae4abe8f2e97d84146db1f48198dacf7
Pau Espin Pedrol at
GTPv1U_Emulation: support multiple client ports per GTP1U_ConnHdlr

This feature is already present in GTP1U code of GTP_Emulation.
That part of the code will be removed and ported to use
GTPv1U_Emulation, so we need to also support this feature here.

Change-Id: I10ce33f30a2da5159f8040725df619844a71d6bc
Pau Espin Pedrol at
Split GTPv1U out of GTP_Emulation

We already have a GTPv1U_Emulation, use it.

Change-Id: I5b3da248719b79d402b945904e3840a2ec387dab
Pau Espin Pedrol at
5gc: Rework init code

* Move T_Guard to MTC, there's no need to have multiple of them (one per
  ConnHdlr).
* Call f_init_handler() internally so it doesn't need to be called by
  each ConnHdlr test.
* Change function attribute friend to private

Change-Id: I71e5d552a6c0089345982a403285f66a92397413
Pau Espin Pedrol at
5gc: C5G_Tests.cfg: Set module name of multiple module params

Change-Id: I936240af988d4727516b5722dd360a907d70eee7
Pau Espin Pedrol at
Move ConnHdlr logic to its own file

Similar to what we do in other testsuites, since we start to have
considrable amount of logic.

Change-Id: If7edf8ee63c71fbf949e2d340cf3881fd8e3ba41
Pau Espin Pedrol at
pgw: Move to library/ high level APIs to run commands over UECUPS

This way the code can be reused by other testsuites more easily.

Change-Id: I49c98fd423e47e16ddfb9ae4612b18db21ca3fa4
Pau Espin Pedrol at
pgw: Use templates to generate UECUPS commands

This way if commands are extended with optional fields, we don't need to
update these since default params in templates will take care of it.

Related: SYS#7073
Depends: osmo-uecups.git Change-Id If524b0a122d1217fcd39e4633835a1a7d0620c7a
Change-Id: I4de6623318fe2abf9807702251fe420eb14de2cc
Pau Espin Pedrol at
5gc: Introduce test TC_register_ping4

osmo-uecups is used to set up a GTPv1U tundev with the PDU session
params configured over NGAP/NAS, similar to what is already done in
PGW_Tests.

Depends: osmo-uecups.git Change-Id I6262c3dfbf774b361aadf0aa53ce09b5fdc38da4
Change-Id: I66737a94eedcf4184aa59bbbd7cc700d1e9d1521
Pau Espin Pedrol at
library/ngap: Fix wrong procedureCode in PDUSessionResourceReleaseCommand templates

Change-Id: Ia4b0cacf8e3f859820d4b5e23d73f38bb5b7fbfd
Pau Espin Pedrol at
testenv: Dockerfile: use debian archive for deb10 libssl pkg

As Debian 10 is EOL, this debian 10 package we are still using here to
make mongodb work is getting removed from the mirrors. Currently some
still have it, some have deleted it already. Use the archive instead.

Related: docker-playground Ia447d850d38c662aac567aa88685d984c0b42238
Change-Id: I1a81e8e1485c810396f1714e6ef0485878fab6ec
Oliver Smith at
testenv: Add $install_dir/usr/bin to $PATH

When building programs from source, don't look only in $install_dir/bin,
but also in $install_dir/usr/bin for the binaries. osmo-s1gw installs to
usr/bin with recent changes and other programs may do this too.

Related: osmo-s1gw I5681ca103daf1c497218b4513b0ca97b1aae03d3
Change-Id: I8d652dba94bbd44217a3034ac012b6568941347d
Oliver Smith at
s1gw/testenv: adjust to use new launcher script

osmo-s1gw now gets started through a launcher script.

Depends: osmo-s1gw I5681ca103daf1c497218b4513b0ca97b1aae03d3
Change-Id: Ief1579154bf46b9bc2551535ede3e1f14456d65d
Oliver Smith at
testenv: podman: add libnftables-dev

This is required for building osmo-s1gw from source in podman,
otherwise:

  /home/user/.cache/osmo-ttcn3-testenv/podman/make3/osmo-s1gw/default/lib/enftables/c_src/enftables.c:16:10: fatal error: nftables/libnftables.h: No such file or directory
     16 | #include <nftables/libnftables.h>
        |          ^~~~~~~~~~~~~~~~~~~~~~~~
  compilation terminated.

Change-Id: I0ae94f73f0875048d9a71d1582627e57e60425c6
Oliver Smith at
library/ngap: Support passing optional NAS-PDU to PDUSessionResourceReleaseCommand

Change-Id: I5f516f33824a83c0eaeb2c0decd82409b786867e
Pau Espin Pedrol at
NGAP_Functions.ttcn: Fix wrong offset of NGAP_ID_pair in uEContextReleaseCommand

Change-Id: I2302bebf75530f574a7fe2647b1eafcc4d5fd7df
Pau Espin Pedrol at
5gc: Implement PDU Session Release procedure

Related: SYS#7073
Change-Id: If79cb0c97008e7a9885bb548a3d2e67e41ba170f
Pau Espin Pedrol at
library: Comment out debugging for NGAP/5G-NAS

The current NGAP and 5G auth code is now working fine, so disable debug
logging. Keep it commented out so it can be re-enabled at any time if
some related topic needs to be debugged (will eventually happen).

Change-Id: I4250766644742f0fd11ca5e24b1a1a581dc81b4b
Pau Espin Pedrol at
5gc: Introduce test TC_ng_register_ping4_256

open5gs-dbctl tool is called in batches of multiple IMSIs to speed up
setup, since each call takes fractions of seconds to complete.
mongosh called by open5gs-dbctl actually uses quite a lot of CPU and RAM
resources, hence limit the amount of parallel runs to a fair amount (eg.
running the 256 of them in parallel froze my workstation with 16GB of
RAM).

Change-Id: I7282fa3c1a474c4b7dceeb5e358547dcdbd1fea6
Pau Espin Pedrol at
5gc: Introduce test TC_periodic_registration_updating

Related: SYS#7073
Change-Id: I63da25a3927cb459563d4325adc690beb8a67451
Pau Espin Pedrol at
{S1AP,NGAP}_Emulation: Fix indentation

Change-Id: Ifb2e4e3fc2d3ef4a76f2b0e906b12d0f740e9cdd
Pau Espin Pedrol at
{S1AP,NGAP}_Emulation: Fix using the value of an optional field containing omit

This was triggered in NGAP_Emulation during run of C5G_Tests complete
testusite, when running TC_ng_register_ping4_256.

Titan apparently doesn't like using a field set as omit in a field of a
record during match().

Same fix is applied for S1AP_Emulation since they basically use the same
logic.

Change-Id: I4812c2e9eeeadc26ad057cd8019f7570e4a16155
Pau Espin Pedrol at
{S1AP,NGAP}_Emulation: Simplify lookup code

Simplify code matching IDs. Explicitly test, log and exit function
called with both IDs passed as "omit".

Change-Id: I02f33c191d131c6325f3608ceec80be6f036aa84
Pau Espin Pedrol at
NGAP_Templates: Fixes and improvements for UEContextReleaseComplete

The existing templates for UEContextReleaseComplete were completelly
wrong, probably due to copy-paste when introducing them. This commit
fixes all those problems and allows passing optional parameters.

* procedureCode was wrong
* Criticality of several fields was wrong
* Type of resource list was wrong, and marked as mandatory while it was
  optional.

Change-Id: I50da7cd4cb15d8e6b2c68b21a4e4be93e3973593
Pau Espin Pedrol at
5gc: Implement UE-initiated de-registration procedure

Change-Id: Iab438d5a7cc5f2ba58943e4568c1fb5e5f41f99d
Related: SYS#7073
Pau Espin Pedrol at
testenv: osmo_dev: remove unused limit_section arg

Remove the unused limit_section argument in testenv.osmo_dev.make(). The
idea was to use osmo-dev to build programs where no packages are
available when using --binary-packages, but this didn't work because
when using --binary-packages, we must install all package dependencies
from the binary repository (so testing nightly / latest use the expected
library versions). Nowadays this use case is handled by
podman_install.from_source_* functions without using osmo-dev.

Change-Id: Ib09ffd0e269c58acd431bdbb5cc7cdcec2d36359
Oliver Smith at
testenv/osmo-dev: split get_targets to own func

Split the code for getting osmo-dev targets into a separate function, so
this can be reused in the next patch.

Change-Id: I2bd7c05102ca472614289870957cdca335c01eaf
Oliver Smith at
testenv: pass targets to osmo-dev's gen_makefile

Pass the targets we are about to build to osmo-dev's gen_makefile
script. This has two advantages:

1) Check early if a target isn't known by the current osmo-dev version,
   displaying a useful error to the user instead of just failing during
   make later on:

     ERROR: filter_projects_deps_targets: can't find project osmo-new-project in projects_deps!

     [testenv] gen_makefile.py from osmo-dev failed!
     [testenv] Your osmo-dev.git clone might be outdated, try:
     [testenv] $ git -C /home/user/code/osmo-dev pull

2) Parsing the generated Makefile when running "make" after generating
   it doesn't cause a noticable delay anymore. On my machine (with many
   Osmocom git repos cloned in osmo-dev's src dir) it went from several
   seconds to instantly.

Depends: osmo-dev I89bb60e94dd03606dbba5a3609d5e1a95993af5b
Change-Id: Ib2d8802b305f145d27aab3c1cc3129709b93d93d
Oliver Smith at
Makefile: add 'clean-logs' target

When running tests manually I oftentimes end up with hundreds of
*.log files in testsuite directories.  The present patch adds a
convenience target for removing them.

Change-Id: Id0597f9eeea9e128ce38a2b19f2126c729e71ffd
Vadim Yanitskiy at
msc: add TC_silent_call_{start_stop,active_conn}

This patch adds testcases for the silent-call feature:

* MSC_Tests.TC_silent_call_start_stop
  Test starting and stopping silent call via the VTY.
* MSC_Tests.TC_silent_call_active_conn
  Test initiating a silent call while there's an active connection.
  The MSC is expected to be smart and reject such an attempt.

Change-Id: I3ef22fbb5a05f69cc8aea7f42e05f6e1d6c4a8b6
Related: osmo-msc.git I93913d189800d71f82c013b6e946bd63db362f65
Related: osmo-msc.git I52b3be26c61cadacc4783b5c324809ecd6906b36
Vadim Yanitskiy at
testenv: Dockerfile: fix Suites: stable-backports

Using "stable-backports" broke now that Debian 13 is out. Use
"bookworm-backports" instead.

Fix for:
  E: The value 'bookworm-backports' is invalid for APT::Default-Release as such a release is not available in the sources

Change-Id: Icc46b6dc2493806dc12f0ff442abd70fe5b48eb8
Oliver Smith at
ngap: Add missing mandatory IE Cause to m_n2_UEContextReleaseRequest

Change-Id: Ib7d87f957e469a23448e35fd82a697d1698c7da7
Pau Espin Pedrol at
ngap: Add template for UEContextReleaseReq without PDU Session List

That's the only optional IE in the message. Add a separate template to
be able to transmit with that IE set, similar to what's already done in
m_n2_InitialContextSetupRequest_withPDUSessionList().

Change-Id: I0f1a549103b70bcd373dcd4c688761d3eeef10a6
Pau Espin Pedrol at
5gc: Obtain amf_id from NGAP_Emulation

This will be needed in a follow-up commit in order to be able to
transmit UE Context Release Request.

Change-Id: I49cb6d7fe9f18734c49bb49ecceb671e8122ce88
Pau Espin Pedrol at
5gc: Place PDU Session params into its own subrecord

This way we properly split between layers, plus the fact that we'll
probably want to hold several concurrent pdu sessions in each UE in the
future.

Change-Id: Ibb0c8d3f0901d53e4aa75855e602234410fd00f9
Pau Espin Pedrol at
5gc: Add tests for UE release context request procedure

Change-Id: Icaaeb2923fdcaba47a72ed0aedc5661f68c03774
Pau Espin Pedrol at
5gc: Add helper to get incremental PTI field

Change-Id: I9d32024b58799bbd3ef547cdc73ee73d7f7275d2
Pau Espin Pedrol at
GSUP Templates: fix empty destination_name in GSUP ISD/UL

The destination_name TLV should be either set with a valid name
or not present, but a field with length 0 shouldn't be used.

Change-Id: Ia89b5a82665e407fa578e5209fbcde0676326df0
lynxis at
GSUP_Templates: ts_GSUP_UL_REQ: add template scopes

Allow to omit the source_name TLV in GSUP UL Request.
The whole ts_GSUP_UL_REQ must resolve to a value.

Change-Id: I250960a1e1c19dfa1efa81f6bbc93efa07cb225c
lynxis at
GSUP_Templates: fix whitespace issues

Change-Id: I03be75063a71153bd2881afd1d741454c508fada
lynxis at
BSSGP_ConnHdlr: f_service_request: allow to define if a Service Accept is expected

A SecurityModeCommand is defined as an implicit Service Accept when the UE
is in PMM_IDLE (meaning, having no Iu signalling connection)

Change-Id: I5c190db28263c530a8eea188bf570a58eaffdd4d
lynxis at
MSC Tests: add TC_gsup_lu_and_det: do a LU, Detach and expect GSUP MS Purge

Currently the MSC/VLR doesn't inform the HLR when a MS detaches.

Change-Id: I9e87537efc2c921fa860539a706316ed410b45d5
lynxis at
ngap: Fix wrong IE Id in m_n2_PDUSessionResourceModifyResponse()

Change-Id: I13547e548e5323fe54340393cbe9f333f10c5969
Pau Espin Pedrol at
5gc: Test UE requested PDU Session Modification procedure

Change-Id: Id9ac0f0e431c4a82dfab8675c93bf3c3f05442a7
Pau Espin Pedrol at
testenv: install curl backport only for bookworm

Change-Id: Ifeeea010fb13bfd65e1d3659a3c43fc4acf07795
Oliver Smith at
Cosmetic: testenv: make builddir_env more readable

Change-Id: I7bbd14bd91c97bc37a163018217b104ace0e1a53
Oliver Smith at
testenv: use separate cache dirs per distro

Change-Id: I0f1c05bb4d8cfababc24477976abf8a0baa3daba
Oliver Smith at
testenv: init podman: add --distro arg

Allow building the podman image for another distribution. This was
mostly implemented already, but due to the missing --distro argument for
"./testenv.py init podman" it could not be used yet.

Change-Id: Iff59b5d403e88046a3f98438394e1e02a36e7c0a
Oliver Smith at
testenv: debian 13: fix installing libgcc

Use a wildcard to install the proper libgcc-*-dev package (libgcc-11-dev
for debian bookworm, libgcc-13-dev for trixie).

Change-Id: I9992d8cf8cd68a9e3ec9178909e0766dbd5d12ad
Oliver Smith at
testenv: debian 13: fix installing eclipse-titan

Change-Id: I56be4e3e72a1ad4590e904f9a48d90aa635c9980
Oliver Smith at
testenv: check for --distro without --podman

The --distro option only makes sense with --podman, complain if it is
used without --podman.

Change-Id: I1b7b26320c65d498a1e812f85f0b98eda95be783
Oliver Smith at
testenv: check value of --distro early

Make sure that the value for --distro is supported early on, instead of
only checking it if --binary-repo is set while trying to add the binary
repository.

Change-Id: I37493f26d71e70a19f4a19b3bbda972c03c84905
Oliver Smith at
testenv: add debian:trixie

Change-Id: Ib62851960724c17f9adddf54a2fc39adef911d32
Oliver Smith at
testenv: enable_binary_repo: configure apt pin

Add an apt-pin to ensure packages from the Osmocom repositories get
preferred over Debian's packages. I just ran into this with osmo-mgw,
where we have 1.4.0 in osmocom:latest and Debian 13 has 1.14.0+dfsg1-2,
which counts as higher version. This results in the wrong package being
selected, and also in an error later on when trying to install related
debug packages from our repository:

  The following packages have unmet dependencies:
   osmo-mgw-dbgsym : Depends: osmo-mgw (= 1.14.0) but 1.14.0+dfsg1-2 is to be installed

Change-Id: I3a45de277bbd5299c8b840680b56b52a8731caa4
Oliver Smith at
testenv: set default distro to debian:trixie

Related: OS#6826
Change-Id: Ib9c5dafaa7b17e435f61fbedfd92393c0a767f34
Oliver Smith at