osmith has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40373?usp=email )
Change subject: testenv: README: document env vars set by testenv ...................................................................... testenv: README: document env vars set by testenv Change-Id: I1a43d6b71c4dbc00abd8a4347fb2b35704491591 --- M _testenv/README.md M _testenv/testenv/cmd.py 2 files changed, 76 insertions(+), 28 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/73/40373/1 diff --git a/_testenv/README.md b/_testenv/README.md index 1b62d65..ed900a4 100644 --- a/_testenv/README.md +++ b/_testenv/README.md @@ -128,34 +128,6 @@ `qemu_functions.sh` and using functions from there. See the `ggsn` testsuite for reference. -### Executables - -#### $PATH - -Executables mentioned in `program=`, `prepare=`, `setup=` and `clean=` run -with a `PATH` environment variable containing: - -* The directory of the testsuite -* The directory for binaries built from source -* The directory `_testenv/data/scripts` (which has e.g. `respawn.sh`) -* The directory `_testenv/data/scripts/qemu` - -#### $PWD (current working dir) - -The executables run inside a directory with the component name, inside the log -dir. For example: - -``` -/tmp/logs -├── ggsn # Executables from [ggsn] section run in this dir -│ ├── ggsn.log -│ └── osmo-ggsn.cfg -└── testsuite # Executables from [testsuite] run in this dir - ├── Common.cfg - ├── GGSN_Tests.cfg - └── GGSN_Tests.default -``` - ### Latest configs Sometimes we need to run test components and/or testsuites with different @@ -186,6 +158,10 @@ ## Environment variables +### Environment variables read by testenv + +You can set the following environment variables to change testenv behaviour. + * `TESTENV_SRC_DIR`: Set the directory for sources of Osmocom components. The default is the directory above your osmo-ttcn3-hacks.git clone. @@ -225,6 +201,76 @@ Instead of attempting to automatically detect the LXC host IP, use this IP. This can be set to 127.0.0.1 for testing. +### Environment variables set by testenv + +Testenv sets the following variables while running shell commands from +`program=`, `prepare=`, `setup=` and `clean=`. The variables are set in +`testenv/cmd.py:init_env()`. + +* `PATH`: + The user's `PATH` environment variable is prefixed with the following paths: + * The directory of the testsuite. + * The directory for binaries built from source. + * The directory `_testenv/data/scripts` (which has e.g. `respawn.sh`). + * The directory `_testenv/data/scripts/qemu`. + +* `PWD`: + The executables run inside a directory with the component name, inside the + log dir. For example: + +``` +/tmp/logs +├── ggsn # Executables from [ggsn] section run in this dir +│ ├── ggsn.log +│ └── osmo-ggsn.cfg +└── testsuite # Executables from [testsuite] run in this dir + ├── Common.cfg + ├── GGSN_Tests.cfg + └── GGSN_Tests.default +``` + +* `TESTENV_USR_DIR`: + The `usr` dir into which the SUT binaries and other files are installed. It + is set to `/usr` for `--podman --binary-repo`, + `~/.cache/osmo-ttcn3-testenv/podman/usr` for `--podman` and + `~/.cache/osmo-ttcn3-testenv/host/usr` otherwise. The + `~/.cache/osmo-ttcn3-testenv` part can be changed with the `--cache` + argument. Different cache directories for podman and for the host are used + as it is very likely that the binary objects from both are incompatible. + +* `TESTENV_SRC_DIR`: + Is set the directory for sources of Osmocom components. The default is the + directory above the osmo-ttcn3-hacks.git clone. This can be changed by the + user by having `TESTENV_USR_DIR` set while running `testenv.py`. + +* `OSMO_DEV_MAKE_DIR`: + This variable is unset if `--binary-repo` is used as argument. Otherwise it + is set to `~/.cache/osmo-ttcn3-testenv/host/make2` or + `~/.cache/osmo-ttcn3-testenv/podman/make2` (with `--podman`) by default. The + `~/.cache/osmo-ttcn3-testenv` part can be changed with the `--cache` + argument. + +* `TESTENV_QEMU_KERNEL`: + Is only set if `-C`/`--custom-kernel` or `-D`/`--debian-kernel` parameters + are set. With `-C` it is set to `<path to osmo-ttcn3-hacks>/.linux`. With + `-D` it is set to `debian`. + +* `TESTENV_QEMU_SCRIPTS`: + Is set to `<path to osmo-ttcn3-hacks>/_testenv/data/scripts/qemu`. + +* `CCACHE_DIR`: + Is set to the value of the `--ccache` parameter, which is + `~/.cache/osmo-ttcn3-testenv/ccache` by default. + +* `PKG_CONFIG_PATH`: + Is prefixed with `$TESTENV_USR_DIR/usr/lib/pkgconfig:`. + +* `LD_LIBRARY_PATH`: + Is prefixed with `$TESTENV_USR_DIR/usr/lib:`. + +* `TERM`: + Is set to `dumb`. + ## Troubleshooting ### Timeout waiting for RESET-ACK after sending RESET diff --git a/_testenv/testenv/cmd.py b/_testenv/testenv/cmd.py index 5e01017..84b3db3 100644 --- a/_testenv/testenv/cmd.py +++ b/_testenv/testenv/cmd.py @@ -12,6 +12,8 @@ def init_env(): + """Adjust "Environment variables set by testenv" in README.md when making + changes here.""" global env_extra global usr_dir -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/40373?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email Gerrit-MessageType: newchange Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I1a43d6b71c4dbc00abd8a4347fb2b35704491591 Gerrit-Change-Number: 40373 Gerrit-PatchSet: 1 Gerrit-Owner: osmith <osm...@sysmocom.de>