summaryrefslogtreecommitdiff
path: root/test/TEST-04-JOURNAL
Commit message (Collapse)AuthorAgeFilesLines
* journal: refresh cached credentials of stdout streamsLorenz Bauer2019-11-051-0/+16
| | | | | | | | | | | | | | | | | | | | journald assumes that getsockopt(SO_PEERCRED) correctly identifies the process on the remote end of the socket. However, this is incorrect according to man 7 socket: The returned credentials are those that were in effect at the time of the call to connect(2) or socketpair(2). This becomes a problem when a new process inherits the stdout stream from a parent. First, log messages from the child process will be attributed to the parent. Second, the struct ucred used by journald becomes invalid as soon as the parent exits. Further sendmsg calls then fail with ENOENT. Logs for the child process then vanish from the journal. Fix this by using recvmsg on the stdout stream, and refreshing the cached struct ucred if SCM_CREDENTIALS indicate a new process. Fixes #13708
* 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: 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`).
* scripts: use 4 space indentationZbigniew Jędrzejewski-Szmek2019-04-122-3/+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.
* journalctl: support `-b all` to negate effect of -bdana2019-03-191-0/+12
| | | | Also fix an issue where -b without argument didn't always behave as -b0
* 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.
* journalctl: add --output-fields= (#7181)Lars Karlitski2017-10-271-0/+12
| | | | | | | | | This option allows restricting the shown fields in the output modes that would normally show all fields. It allows clients that are only interested in a subset of the fields to access those more efficiently. Also, it makes the resulting size of the output more predictable. It has no effect on the various `short` output modes, because those already only show a subset of the fields.
* 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-34/+0
| | | | | | | | | | | 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: add test that journald keeps fds over termination by signalEvgeny Vereshchagin2016-11-011-0/+8
| | | | This test fails before previous commit, and passes with it.
* test: merge check_nspawn() into run_nspawn()Martin Pitt2016-06-241-2/+1
| | | | | This makes nspawn tests symmetric with run_qemu() which also exits with 1 if QEMU is not available.
* test: remove exit 0 at the endPhillip Sz2016-02-051-1/+0
| | | | | We don't need that at the end, as it will always exit with 0 if everything is okey.
* tests: add regression test for `systemctl restart systemd-journald`Evgeny Vereshchagin2015-12-302-0/+17
| | | | See https://github.com/systemd/systemd/issues/2236
* tests: use sync instead of flushEvgeny Vereshchagin2015-11-271-6/+6
| | | | flush doesn't sync a journal -> tests sometimes fail
* tests: don't run test on incomplete setupEvgeny Vereshchagin2015-11-271-1/+1
| | | | | | | This is a follow-up commit for https://github.com/systemd/systemd/pull/1937 See https://github.com/systemd/systemd/pull/2030
* tests: journal-stdout-stream: add cases for leading and trailing spacesEvgeny Vereshchagin2015-11-171-0/+30
|
* tests: add basic journal testEvgeny Vereshchagin2015-11-173-0/+102