Commit Graph

31 Commits

Author SHA1 Message Date
Oliver Smith ba1cfcc875 ttcn3: colorize compiler output
Attach a tty to the docker container while building the testsuite, as
this is what "should_colorize()" checks for.

Related: b3dca57db9
Change-Id: I6d3c9e1e82b1cf4384b4abd3f1eed072d8fe6fde
2022-10-21 12:13:22 +02:00
Oliver Smith f3d71209ec ttcn3: build testsuite inside docker too
Build the ttcn3 testsuites inside docker, so there is no mismatch of
libraries between the host system and the docker container when
attempting to run the testsuite inside docker later (like jenkins does
it).

Change-Id: Ic89e32ed68848bb3b661f77775ed1520c9f44fd9
2022-10-18 15:58:32 +02:00
Vadim Yanitskiy 3d09dcf53a tmux/ttcn3-bsc-test.sh: configure 4 TRX instances for BTS2
Change-Id: I2294c788c1a7d37cb0492c8789b42d993e3f947b
2022-06-28 21:45:11 +07:00
Vadim Yanitskiy 4ffb62ef4e tmux/ttcn3-bsc-test.sh: pass missing features to osmo-bts-omldummy
Change-Id: I119b29885be71bf0d7535f5f9337748998ff1470
2022-05-27 21:16:50 +06:00
Vadim Yanitskiy bd768f6a5d tmux/ttcn3-bsc-test.sh: run osmo-bts-omldummy in single-trx mode
Change-Id: Ie18003922110219c5af1a8ba3ecdc305dcc325de
2022-05-27 21:11:55 +06:00
Oliver Smith d88ae26f2a ttcn3/ttcn3.sh: update DOCKER_IMG_BUILD
The testsuite is running in bullseye for some time, so build the Osmocom
programs in bullseye as well.

Depends: docker-playground I4cd05ef2c164dfb765ee365ab38b8dfd4f955ac6
Change-Id: Ie5be8dc976fb8ff37b6712f1cba434b2114c4bf8
2022-05-03 15:39:57 +02:00
Oliver Smith 202dcd8544 ttcn3/ttcn3.sh: update path to ttcn3-docker-run.sh
Change-Id: Idb90b0cedc263510a58c55524018781bcbcc2d66
2022-05-03 15:39:57 +02:00
Vadim Yanitskiy 1b68dbc826 ttcn3/tmux/ttcn3-bts-test.sh: fix incorrectly passed --trx arguments
For some reason, on Arch Linux:

  $ file /bin/sh
  /bin/sh: symbolic link to bash

  $ sh --version
  GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)

the '--trx' arguments are getting passed incorrectly:

  $ ./fake_trx.py TRX1@127.0.0.1:5700/1
                  TRX2@127.0.0.1:5700/2
                  TRX3@127.0.0.1:5700/3
  fake_trx: error: unrecognized arguments: TRX1@127.0.0.1:5700/1
                                           TRX2@127.0.0.1:5700/2
                                           TRX3@127.0.0.1:5700/3

Let's send each argument separately.

Change-Id: Ibf28ac013c426baba491af45e2ae46f37685a402
2022-03-11 14:33:08 +03:00
Vadim Yanitskiy 5b3b14e5f7 ttcn3/tmux/ttcn3-bts-test.sh: fix copy-pasted TRX names
Change-Id: I5959acdf07caa1e9003662b0c11c3df68ca933fe
2022-03-11 14:33:08 +03:00
Vadim Yanitskiy 3414a48340 Add tmux scripts for ttcn3-{msc,bsc,bts}-test
Change-Id: I201b77c013cbeef9d1a07b9422b27f375811ed69
2022-01-17 15:42:45 +00:00
Oliver Smith 6c7fed8a32 ttcn3.sh: use --auto-distclean
Change-Id: I7d61405dc989eed4935bc6de00e36c1f3b18a428
2021-11-12 15:51:38 +01:00
Oliver Smith 0a4d8ea698 gen_makefile.py: drop argument for deps file
Rename 3G+2G.deps to all.deps and remove the parameter from
gen_makefile.py. Create new Makefile targets for the various use cases,
usually we build either 'cn-bsc' or 'usrp'. The next patch will add more
projects to all.deps.

This change brings the Makefile logic closer to how it is actually used,
one build directory that is building most Osmocom projects. New projects
can be added to all.deps on demand, but then we have it in the
repository and not just a local change that we add temporarily to the
3G+2G.deps file when we need to build a specific project.

Extend all.deps with projects needed by ttcn3.sh, so it doesn't need to
write its custom .deps file anymore.

Change-Id: I6394882f67eecda3d2c03a97d3119657f7d3873f
2021-09-21 16:52:02 +02:00
Oliver Smith 5f611c76b3 ttcn3.sh: clone_repo: avoid make if possible
Change-Id: I54ad32c9fc51dc91c70b61fe91e68257985f310f
2021-08-31 17:44:30 +02:00
Oliver Smith 8d8ddf4124 ttcn3.sh: call osmo-dev's make less often
Merge build_osmo_program_osmodev into build_osmo_programs and change the
logic, so make only needs to run once. This saves a few seconds for each
test iteration.

Change-Id: Ie2cf7a93395f5ad04159f523d0d0f091303aaa57
2021-08-31 17:44:30 +02:00
Oliver Smith d3271069c4 ttcn3.sh: build with werror
Change-Id: I0b5f4b805d230a5c8157853b4b37b7fe62c4d539
2021-08-31 17:44:30 +02:00
Oliver Smith 7ece249e61 ttcn3.sh: run gen_makefile.py with --no-make-check
On my system, when building all components in docker, some of the C tests
don't pass (but they do pass on jenkins.osmocom.org, which runs a
similar setup). Do the easy workaround and just disable C tests, the
point of ttcn3.sh is to have fast ttcn-3 test iterations anyway, running
the C tests additionally slow each iteration down. One can run the C
tests before submitting changes, e.g. by building with osmo-dev without
ttcn3.sh.

Change-Id: I946635f1ec09f23428965f3db514027f64921fe4
2021-08-23 17:49:12 +02:00
Oliver Smith 855d66ee91 ttcn3.sh: don't build virtphy/trxcon/fake_trx
Remove leftovers from before refactoring in
Iecba5391dafc353058d369deb513b156534face1. No need to build these with
osmo-dev, as they are part of the osmocom-bb docker container that gets
built via ttcn3-bts-test/jenkins.sh.

Change-Id: I99ec4ff9caf34d1ddd7efde2f5ae2342a6984689
2021-08-13 09:17:40 +02:00
Oliver Smith 836bf568ef ttcn3/wrappers: remove
Leftover from before the script was refactored in
Iecba5391dafc353058d369deb513b156534face1.

Change-Id: Ic0890f71fe37a136580e12ebade979bcf14574c0
2021-08-13 09:17:40 +02:00
Oliver Smith 0fa204e179 ttcn3.sh: build everything inside docker
Replace the previous approach of building outside of docker and mounting
everything inside docker while running tests, with also building
everything inside docker. This prevents incompatibilities between host
system and docker (e.g. different glibc). As nice side-effect,
/usr/local is not filled up anymore.

Change-Id: Ib6db8ffd916c788c9de0b3d51c82e1d7bb3f6828
2021-08-13 09:17:40 +02:00
Oliver Smith bfe59294ad ttcn3.sh: set LD_LIBRARY_PATH=/usr/local/lib
Fix for Osmocom programs using system's shared libraries, instead of the
ones mounted into /usr/local.

For example, for osmo-bsc the libosmocore installed in the
osmo-bsc-master docker container would be used (installed via apt from
OBS nightly) instead of the version that osmo-dev built from source.

Change-Id: I0dd7fb544ca59cb1df19fc3d73cfd07f3374e123
2021-08-13 09:17:39 +02:00
Oliver Smith f3eb0ba445 ttcn3.sh: support IMAGE_SUFFIX=latest
Add the image suffix to the marker in run_docker() which indicates if
the testsuite docker container was already built (with all its
dependencies), so the script doesn't assume that everything is already
built if using without IMAGE_SUFFIX first and then switching to
IMAGE_SUFFIX=latest.

Add an usage example to README for IMAGE_SUFFIX=latest.

Change-Id: I867740831810324a7f5906a0548f0d04ecb9a0a1
2021-08-13 09:17:39 +02:00
Oliver Smith f03dfa30a2 ttcn3.sh: get_program_repo: add osmo-pcap-*
Make "ttcn3.sh osmo-pcap-client" work.

Change-Id: I61f1b9f8ce9157f34cefad093b7ae7d445834961
2021-08-13 09:17:39 +02:00
Oliver Smith 6b84b46198 ttcn3.sh: set NO_LIST_OSMO_PACKAGES=1
Speed up tests by not running a separate docker instances first that
lists installed packages.

Depends: docker-playground Iaafb81e9ee94850ae3b6318574ad5370d74a2838
Change-Id: I3d9976d07f088e2d106d23259889a4bffe1abbcb
2021-07-12 08:35:49 +00:00
Oliver Smith 6f7954e869 ttcn3: add missing ttcn3-docker-run.sh
After recent refactoring, having this file in /usr/local/bin is required
to run the testsuites.

Change-Id: I23467136af6deaca69e0b43697a06385cb65444d
2021-06-01 14:16:20 +02:00
Oliver Smith 7531cea612 ttcn3: prepare_local_bin: update respawn.sh path
Make logic to install the file simpler while at it, and allow it to
create /usr/local/bin if it doesn't exist (I just had that).

Change-Id: I497b9e8909a419f5b5286fcccce9d8a1ba9d515c
2021-06-01 13:32:21 +02:00
Oliver Smith 389dafb940 ttcn3.sh: clone deps on first run
Change-Id: Id41a64d1012b9f54811c19d593cab125322a5c96
2020-05-05 14:04:22 +02:00
Oliver Smith 1b471a9a39 ttcn3.sh: make sure respawn.sh is available
Change-Id: I3de75642eb4b4b26b74013d774652337433ba264
2020-05-05 14:04:22 +02:00
Oliver Smith 01a510a967 ttcn3: mount osmo-dev src in docker containers
Instead of trying to run everything outside of docker, just build the
docker containers and then mount /usr/local and osmo-ttcn3-hacks from
the host system into the docker containers. This way, we can just use
the same configs as the official jenkins jobs are using, while still
having a short test-cycle once the docker containers are built for the
first time. I've decided to implement this, because it was not feasible
to maintain the separate configs.

Depends: docker-playground I8d1f78aee926f8f6ec0b704e16639bc83f525816
Change-Id: Iecba5391dafc353058d369deb513b156534face1
2020-05-05 14:04:12 +02:00
Oliver Smith 10da26d3f1 ttcn3.sh: use no_{dahdi,optimization,doxygen}.opts
Change-Id: If4e5f271d31ebba25ff7c945ee962aefb4a848fa
2020-01-07 13:17:54 +01:00
Oliver Smith 01401bcfe4 ttcn3.sh: support sip (osmo-sip-connector)
Change-Id: I9eed35628f25be37bf0190e5d5797d792c1f0ef9
2019-11-28 12:19:28 +01:00
Oliver Smith e398564bdd ttcn3: run ttcn3 testsuites from osmo-dev
Build testsuite, SUT and dependencies and run everything with one
command. Example usage:

$ ./ttcn3/ttcn3.sh msc

So far, it works at least with:
hlr, mgw, msc, pcu, pcu-sns, sgsn

Change-Id: I6b4bf2743adeec1a950d5f090a690182b991cf49
2019-10-18 11:32:51 +02:00