summaryrefslogtreecommitdiff
path: root/test/TEST-13-NSPAWN-SMOKE
Commit message (Collapse)AuthorAgeFilesLines
* test: add function to reduce copied setup boilerplateZbigniew Jędrzejewski-Szmek2019-10-081-8/+1
| | | | | | Many tests were also masking systemd-machined.service. But machined should only start when activated, so having it not masked shouldn't be noticable. TEST-25-IMPORT needs it.
* test: drop redirection to tty in integration testsZbigniew Jędrzejewski-Szmek2019-10-081-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | I *think* this was originally added to make it easier to see what was happening in tests. Later we added the functionality to print the journal on failure, so this redirection has stopped being useful. In https://github.com/systemd/systemd/pull/13719#issuecomment-539292650 @filbranden shows that grep tries to write to stdout and fails. In general, we should not assume that writing to the console it always possible. We have special code to handle this in pid1 after all: 99 19:22:10.731965 fstat(1, <unfinished ...> 99 19:22:10.731993 <... fstat resumed>{st_mode=S_IFCHR|0620, st_rdev=makedev(0x88, 0), ...}) = 0 99 19:22:10.732070 write(1, "ExecStartPost={ path=/bin/echo ; argv[]=/bin/echo ${4_four_ex} ; ignore_errors=no ; start_time=[Mon 2019-10-07 19:22:10 PDT] ; stop_time=[Mon 209-10-07 19:22:10 PDT] ; pid=97 ; code=exited ; status=0 }\n", 203) = -1 EIO (Input/output error) 99 19:22:10.732174 write(2, "grep: ", 6) = -1 EIO (Input/output error) 99 19:22:10.732226 write(2, "write error", 11) = -1 EIO (Input/output error) 99 19:22:10.732263 write(2, ": Input/output error", 20) = -1 EIO (Input/output error) 99 19:22:10.732298 write(2, "\n", 1 <unfinished ...> 99 19:22:10.732325 <... write resumed>) = -1 EIO (Input/output error) 99 19:22:10.732349 exit_group(2) = ? 99 19:22:10.732424 +++ exited with 2 +++ Removing the redirection should make the tests less flakey. Replaces #13719. While at it, also drop NotifyAccess=all. I think it was added purposefully in TEST-20-MAINPIDGAMES, and then cargo culted to newer tests.
* nspawn: rename UNIFIED_CGROUP_HIERARCHY to SYSTEMD_NSPAWN_UNIFIED_HIERARCHYZbigniew Jędrzejewski-Szmek2019-10-011-13/+13
| | | | | | | | | | | | | | | We should never have used an unprefixed environment variable name. All other systemd-nspawn variables have the "SYSTEMD_NSPAWN_" prefix, and all other systemd variables have the "SYSTEMD_" prefix. The new variable name takes precedence, but we fall back to checking the old one. If only the old one is found, a warning is emitted. In addition, SYSTEMD_NSPAWN_UNIFIED_HIERARCHY="" is accepted as an override to avoid looking for the old variable name. We have a variable with the same name ($UNIFIED_CGROUP_HIERARCHY) in tests, which governs both systemd-nspawn and qemu behaviour. It is not renamed.
* test: add some test for norbindIago López Galeiras2019-07-241-0/+13
| | | | This regressed so let's add a test to make sure it doesn't happen again.
* test: add create_empty_image_rootdir() to simplify testcase setupDan Streetman2019-07-161-6/+1
| | | | | | | | | Almost all tests were manually mounting/unmounting $TESTDIR/root from the loopback image; this moves all that into test-functions so the test setup functions are simplier. Also add test_setup_cleanup() function, to cleanup what is mounted by create_empty_image_rootdir()
* test: drop || return 1 expression which is incompatible with set -eFrantisek Sumsal2019-07-081-1/+1
| | | | | | The `set -e` option is incompatible with a subshell/compound command, which is followed by || <EXPR>. In such case, the -e option is ignored in all affected subshells/functions (see man bash(1) for command `set`).
* cgtop,test: use consistent capitalization for CGroupZbigniew Jędrzejewski-Szmek2019-05-211-1/+1
|
* scripts: use 4 space indentationZbigniew Jędrzejewski-Szmek2019-04-121-2/+0
| | | | | | | | | | | | | | | | | | We had all kinds of indentation: 2 sp, 3 sp, 4 sp, 8 sp, and mixed. 4 sp was the most common, in particular the majority of scripts under test/ used that. Let's standarize on 4 sp, because many commandlines are long and there's a lot of nesting, and with 8sp indentation less stuff fits. 4 sp also seems to be the default indentation, so this will make it less likely that people will mess up if they don't load the editor config. (I think people often use vi, and vi has no support to load project-wide configuration automatically. We distribute a .vimrc file, but it is not loaded by default, and even the instructions in it seem to discourage its use for security reasons.) Also remove the few vim config lines that were left. We should either have them on all files, or none. Also remove some strange stuff like '#!/bin/env bash', yikes.
* tests: explicitly enable user namespaces for TEST-13-NSPAWN-SMOKEFrantisek Sumsal2018-12-211-1/+6
|
* test: drop 'After=multi-user.target' from most of testsuite.serviceYu Watanabe2018-11-031-1/+0
|
* test: mask several unnecessary servicesYu Watanabe2018-11-031-0/+8
| | | | This may make CIs run faster.
* tests: clean up again after running tests (#10446)Lennart Poettering2018-10-191-1/+4
| | | | | | | | | | | | | | | | | Currently, if I run the full "run-integration-tests.sh" script it will fail on my machine because it fills up /var/tmp whith just too much crap until the disk is full. Let's make sure that "run-integration-tests.sh" cleans up after every test. For that change the make targets to run from "clean setup run" to "clean setup run clean" — except that that doesn't work since make is smart enough to realize that the same target appears twice on the command line and will only execute it once. Let's fix that by defining another target "clean-again" which is just like "clean", but allows us to be added to the same command line a second time. Then, let's build with "clean setup run clean-again" and all is good. While we are at it, let's also add .PHONY where appropriate, after all these all are phony targets.
* test: Drop SKIP_INITRD for QEMU-based testsMichael Biebl2018-07-161-1/+1
| | | | | | Not all distros support booting without an initrd. E.g. the Debian kernel builds ext4 as a module and so relies on an initrd to successfully start the QEMU-based images.
* test: fix TEST-13-NSPAWN-SMOKELennart Poettering2017-12-151-1/+1
| | | | | | We need to specify a full path to the "ip" binary and busybox "ip" has a slightly different output than the normal ip, and won't show "DOWN". hence instead ensure that at lest not "UP" is in there.
* test: make sure "make" in the test directories works againLennart Poettering2017-12-151-1/+1
| | | | Fixes: #7648
* test: add smoke tests for `--network-namespace-path`Iago López Galeiras2017-12-141-2/+15
| | | | | We create net ns with `ip netns`, pass the created ns to nspawn and check the loopback interface is DOWN.
* test: add CLI smoke tests for `--network-namespace-path` of nspawnDongsu Park2017-12-131-0/+35
| | | | | | Since the new option `--network-namespace-path=` of systemd-nspawn cannot be used together with other network-related options, we need to add more smoke tests for checking these conditions of options.
* tests: try to autodetect directory betterZbigniew Jędrzejewski-Szmek2017-12-061-1/+1
| | | | | | | | | | Ignore mkosi.builddir. In the future we can also add other patterns if necessary. run-intergration-tests.sh is updated to use the new script, and modified to work from arbitrary directory. Follow-up for #7494.
* test: Run qemu/nspawn tests with "set -e"Martin Pitt2017-08-101-0/+1
| | | | | | | | This catches errors like "ninja not found", missing programs etc. early, instead of silently ignoring them and trying to boot a broken VM. In install_config_files(), allow some distro specific files to be absent (such as /etc/sysconfig/init).
* test: Factorize common integration test functions (#6540)Martin Pitt2017-08-041-29/+1
| | | | | | | | | | | All test/TEST* but TEST-02-CRYPTSETUP share the same check_result_qemu() and test_cleanup(), so move them into test_functions and only override them in TEST-02-CRYPTSETUP. Also provide a common test_run() which by default assumes that both QEMU and nspawn tests are run. Particular tests which don't support either need to explicitly opt out by setting $TEST_NO_{QEMU,NSPAWN}. Do it this way around to avoid accidentally forgetting to opt in, and to encourage test authors to at least always support nspawn.
* test: try to guess the build directoryZbigniew Jędrzejewski-Szmek2017-07-181-1/+3
| | | | | This will work if $(TOP_SRC_DIR) has exactly one subdirectory with .ninja_deps. Otherwise, BUILD_DIR has to be specified.
* test: convert test/ to use meson installZbigniew Jędrzejewski-Szmek2017-07-181-8/+2
| | | | | | | | | | | | | Automatic rebuilding is removed: it doesn't play well with ninja, because ninja always writes logs, and even if nothing needs to be built, it will make the log file owned by root. So let's just remove this, and say that the user must always do the build first. I'm also keeping make for the tests, because ninja doesn't play well with sudo. Since the build directory is arbitrary, it needs to be specified, e.g. sudo make BUILD_DIR=/home/zbyszek/src/systemd/build1 -C test/TEST-01-BASIC/
* tests: check that we can write to /run/systemd/nspawn/notifyEvgeny Vereshchagin2017-01-171-0/+12
| | | | See https://github.com/systemd/systemd/issues/4944
* nspawn: don't hide --bind=/tmp/* mounts (#4824)Evgeny Vereshchagin2016-12-051-0/+10
| | | Fixes #4789
* tests/TEST-13-NSPAWN-SMOKE: add SYSTEMD_NSPAWN_API_VFS_WRITABLEEvgeny Vereshchagin2016-11-181-10/+27
| | | | https://github.com/systemd/systemd/pull/4395
* tests/TEST-13-NSPAWN-SMOKE: remove an expected failure checkEvgeny Vereshchagin2016-10-233-162/+4
| | | | | https://github.com/systemd/systemd/issues/4352 has been fixed So, we don't need this workaround anymore
* tests: add smoke test for systemd-nspawnEvgeny Vereshchagin2016-10-174-0/+345
Basically, this test runs: ``` systemd-nspawn --register=no -D "$_root" -b systemd-nspawn --register=no -D "$_root" --private-network -b systemd-nspawn --register=no -D "$_root" -U -b systemd-nspawn --register=no -D "$_root" --private-network -U -b ``` and exports the `UNIFIED_CGROUP_HIERARCHY=[yes|no]`, `SYSTEMD_NSPAWN_USE_CGNS=[yes|no]` Inspired by * systemd#3589 (comment) * systemd#4372 (comment) * systemd#4223 (comment) * systemd#1555 and so on :-)