summaryrefslogtreecommitdiffstats
path: root/test/TEST-10-ISSUE-2467 (follow)
Commit message (Collapse)AuthorAgeFilesLines
* test: tweak TriggerLimitIntervalSec= when built with coverageFrantisek Sumsal2021-10-251-0/+12
| | | | | | Collecting coverage causes a significant slowdown in general, but since this test requires certain timing, we need to tweak the defaults to make it reliably pass.
* tests: add spdx headers to scripts and MakefilesZbigniew Jędrzejewski-Szmek2021-10-181-0/+1
|
* test: "detect" the test number automagicallyFrantisek Sumsal2021-04-261-1/+1
| | | | | | Specifying the test number manually is tedious and prone to errors (as recently proven). Since we have all the necessary data to work out the test number, let's do it automagically.
* test: make the test entrypoint scripts shellcheck-compliantFrantisek Sumsal2021-04-201-1/+3
|
* test: de-duplicate test_setup() functionsZbigniew Jędrzejewski-Szmek2020-03-281-14/+0
| | | | Now we will run setup_nspawn_root() in some case where do don't need to.
* test: move TEST-10-ISSUE-2467 setup to static filesZbigniew Jędrzejewski-Szmek2020-03-281-28/+1
|
* treewide: more portable bash shebangsJörg Thalheim2020-03-051-1/+1
| | | | | | | | | | | | | | | | As in 2a5fcfae024ffc370bb780572279f45a1da3f946 and in 3e67e5c9928f8b1e1c5a63def88d53ed1fed12eb using /usr/bin/env allows bash to be looked up in PATH rather than being hard-coded. As with the previous changes the same arguments apply - distributions have scripts to rewrite shebangs on installation and they know what locations to rely on. - For tests/compilation we should rather rely on the user to have setup there PATH correctly. In particular this makes testing from git easier on NixOS where do not provide /bin/bash to improve compose-ability.
* test: add function to reduce copied setup boilerplateZbigniew Jędrzejewski-Szmek2019-10-081-7/+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.
* test/TEST-10-ISSUE-2467: remove testsuite.service TimeoutStartSecDan Streetman2019-08-261-1/+0
| | | | | | | | This test runs under qemu, which may run on some testbeds without acceleration; in those cases, a 10s timeout is frequently too short. Simply removing the timeout to allow the default timeoutsec should be enough time for the test to finish, even on very slow testbeds.
* test: use "ln -fs"Zbigniew Jędrzejewski-Szmek2019-07-301-5/+5
| | | | | Without this, repeated runs of "make -C TEST/... setup" fail when trying to create the symlink.
* test: add create_empty_image_rootdir() to simplify testcase setupDan Streetman2019-07-171-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`).
* 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.
* test: replace echo with socatFrantisek Sumsal2019-02-121-3/+3
| | | | | | | | | | | | | The original version of the test used netcat along with a standard AF_UNIX socket, which caused issues across different netcat implementations. The AF_UNIX socket was then replaced by a FIFO with a simple echo, which, however, suffers from the same issue (some echo implementations don't check if the write() was successful). Let's revert back to the AF_UNIX socket, but replace netcat with socat, which, hopefully, resolves the main issue. Relevant commit: 9b45c2bf02a43e3e1b42de1ab0c3fe29c64dc5f5
* test: drop 'After=multi-user.target' from most of testsuite.serviceYu Watanabe2018-11-031-1/+0
|
* test: Drop SKIP_INITRD for QEMU-based testsMichael Biebl2018-07-161-1/+0
| | | | | | 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.
* tests: don't use "netcat" for testing TEST-10-ISSUE-2467Lennart Poettering2017-12-051-3/+5
| | | | | | | | | | | | | | | | | | Apparently there are a myriad of netcat implementations around, and they all behave slightly differently. The one I have on my Fedora 27 installation will cause a failure when invoked as "nc -U" on an AF_UNIX socket whose connections are immediately disconnected, thus causing the test to fail. Let's avoid all ambiguities in this regard, and drop usage of netcat altoegther. Instead let's use a FIFO in the file system, which we can connect to with only shell commands, and is hence much simpler and more reliable to test with. The actual test is supposed to validate that PID 1 doesn't hang when activation of a socket-activated service fails, hence which transport mechanism is used ultimately doesn't matter, as long as we activate the service, and we do here...
* tests: make TEST-10-ISSUE-2467 also run in nspawnLennart Poettering2017-12-051-1/+1
| | | | | No reason not to run it in nspawn, and it's easier to debug than the qemu version.
* 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.
* tests: don't fail if QEMU is not availableMartin Pitt2016-06-241-2/+5
| | | | | Fix TEST-{08,09,10,11} to properly skip the test if QEMU is not available instead of failing, like in the other tests.
* tests: add test for https://github.com/systemd/systemd/issues/2467 (#3168)Evgeny Vereshchagin2016-05-022-0/+89