summaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2015-11-10Merge pull request #1834 from filbranden/testexecute2Lennart Poettering
test-execute: Fix systemd escaping and shell issues (v2)
2015-11-10tests: various fixesEvgeny Vereshchagin
* remove journal flushing (systemd-journal-flush.service runs journalctl --flush on boot) * use sh -c and PATH instead of @SYSTEMCTL@ expansion * remove unnecessary semicolons etc
2015-11-10test-execute: Fix systemd escaping and shell issuesFilipe Brandenburger
In most cases, systemd requires escaping $ (for systemd variable substitution) and % (for specifiers) by doubling them. This was somewhat of an issue in tests like exec-environment*.service where systemd was doing the substitutions and we were not really checking that those were available in the actual environment of the command. Fix that. Expressions such as `exit $(test ...)` are incorrect. They only work because $(test ...) will produce no output, so the command will become a bare "exit" which will exit with the status of the latest executed command which turns out to be the test... The direct approach is simply calling "test" as the last command, for which the shell will propagate the exit status. One situation where this was breaking tests was on `exit $(test ...) && $(test ...) && $(test ...)` where the second and third tests were not really executing, since the first command is actually `exit` so && was doing nothing there. Fixed it by just using `test ... && test ... && test ...` as it was initially intended. Pass -x to all shell executions for them to produce useful debugging output to stderr. Consequently, removed most of the explicit `echo`s that are no longer needed. Mark all units as Type=oneshot explicitly. Also made sure all shell variables are properly quoted. v2: Added an explicit LC_ALL=C to ionice invocations since some locales (such as French) will add a space before the colon in the output. Tested by running `sudo ./test-execute` and confirming all tests enabled on my system (essentially all of them except for the s390 one) passed. Tweaked the variables or options or expected values and confirmed the tests do indeed fail when the values are not exactly the expected ones. v2: Also tested with `LANG=fr_FR.UTF-8 sudo ./test-execute` to confirm it still works in a different locale.
2015-11-06test: Fix typo in TEST-03-JOBS/test-jobs.shJesus Ornelas Aguayo
Fix typo s/enqueueing/enqueuing/ Signed-off-by: Jesus Ornelas Aguayo <jesus.ornelas.aguayo@intel.com>
2015-11-06test-execute: don't use /usr/bin/uname. use sh and PATHEvgeny Vereshchagin
2015-11-04test-functions: fix dbus-1 installationEvgeny Vereshchagin
The basic setup for the well-known system and session buses is now done in read-only files in ${datadir} (normally /usr/share). See the NEWS entry for 1.9.18 for details. http://cgit.freedesktop.org/dbus/dbus/tree/NEWS
2015-10-31test-path: move all related test files to a specific directoryRonny Chevalier
To avoid polluting test/
2015-10-31test-execute: move all files related to a specific directoryRonny Chevalier
To avoid polluting test/
2015-10-31test-execute: add tests for IOSchedulingClassRonny Chevalier
2015-10-31test-execute: add tests for OOMScoreAdjustRonny Chevalier
2015-10-31test-execute: add test for EnvironmentFileRonny Chevalier
2015-10-31test-execute: add test for PrivateNetworkRonny Chevalier
2015-10-29test: add tests to ensure that the capabilities are properly setRonny Chevalier
2015-09-24s390: add personality supportHendrik Brueckner
Introduce personality support for Linux on z Systems to run particular services with a 64-bit or 31-bit personality.
2015-09-21core: fix group ownership when Group is setRonny Chevalier
When Group is set in the unit, the runtime directories are owned by this group and not the default group of the user (same for cgroup paths and standard outputs) Fix #1231
2015-09-21test-execute: add tests for RuntimeDirectoryRonny Chevalier
2015-08-30test: udev - Signal that test was skipped when running as non-rootFilipe Brandenburger
It is more accurate to report that the test was skipped rather than succeeded if we did not get to run it because it requires root. Tested by running `make check` and inspecting the log file: $ cat test/udev-test.pl.log Must have root permissions to run properly. SKIP test/udev-test.pl (exit status: 77) The `make check` output also reported: SKIP: test/udev-test.pl
2015-07-01sysv-generator test: Fix random ordering failureMartin Pitt
test_simple_escaped() sometimes fails with AssertionError: Lists differ: ['foo\\x2b.service', 'foo-admin.service'] != ['foo-admin.service', 'foo\\x2b.service'] We don't need to assume any order here, so compare them as a set, not a list.
2015-06-30udev: remove WAIT_FOR keyKay Sievers
This facility was never a proper solution, but only papered over real bugs in the kernel. There are no known sysfs "timing bugs" since a long time.
2015-06-29sysv-generator: escape names when translating from sysv nameFelipe Sateler
While the LSB suggests only [A-Za-z0-9], that doesn't prevent admins from doing the wrong thing. Lets not generate invalid names in that case.
2015-06-15sysv-generator test: always log to consoleMartin Pitt
Set $SYSTEMD_LOG_TARGET so that the output always goes to stdout/stderr. This fixes running the test as root, as that logged to the journal previously. https://github.com/systemd/systemd/issues/195
2015-06-03remove gudev and gtk-docKay Sievers
The library moved to: https://git.gnome.org/browse/libgudev/
2015-05-18Use "new" --job-mode= option in more placesZbigniew Jędrzejewski-Szmek
--irreversible/--ignore-dependencies/--fail are deprececated since 4dc5b821ae737914499119e29811fc3346e3d97c. Also add shell completions for --jobs-mode.
2015-04-28sysv-generator test: Fix assertionAlberto Fanjul Alonso
2015-04-03test: udev, valgrind - track origins of uninitiaziled memoryTom Gundersen
2015-03-27test: udev - add gdb supportTom Gundersen
2015-02-26boot: efi - remove custom splash supportKay Sievers
2015-02-26boot: efi - support embedded splash imageKay Sievers
2015-02-26boot: efi - remove default boot splash handlingKay Sievers
2015-02-19sysv-generator: fix wrong "Overwriting existing symlink" warningsMartin Pitt
Fix result testing of is_symlink() to ignore negative results, which happen if the file name does not exist at all. In this case we do not want a warning and unlink the non-existing link. https://bugs.debian.org/778700
2015-02-19systemd-sysv-generator test: Adjust to dropped runlevelN.target mappingMartin Pitt
Commit d5d8429a dropped the explicit runlevelN.target mapping. Adjust the tests accordingly to explicitly state the expected targets instead of runlevels.
2015-02-18Add mock fsck processDidier Roche
2015-02-18gummiboot/sd-boot/systemd-boot: rename galoreTom Gundersen
What used to be gummiboot, was renamed sd-boot when it was merged into systemd. Let's try to be a bit more consistent with the rest of systemd and rename it again as follows: The EFI bootloader is now called 'systemd-bootx64.efi', and its sources are in 'src/boot/efi/'. The drop-in directory where bootctl will find EFI loaders is now /usr/lib/systemd/boot/efi/.
2015-02-17sd-boot: add EFI boot manager and stub loaderKay Sievers
2015-02-11sysv-generator: Skip init scripts for existing native servicesMartin Pitt
This avoids taking the SysV init script enablement state into account if we have native units. Otherwise systemctl disable on native unit would not be respected in the presence of an enabled SysV script. Also, there's no need to do all the parsing and creation of service files if we already have a native systemd unit for the processed SysV init script.
2015-02-03test-functions: search for the initrd and kernel according to the BLSHarald Hoyer
Also search for the initrd and kernel according to the boot loader specification.
2015-02-03test-functions: use sfdisk without cyl,head,sectorsHarald Hoyer
newer sfdisk implementations do not work with these anymore
2015-02-03test-functions:install_libnss() call dracut_install with all $NSS_LIBSHarald Hoyer
dracut_install() can cope with more than one file
2015-02-03tests: install ldconfig.real for Debian based distrosMartin Pitt
In Debian based distributions ldconfig is just a shell wrapper around ldconfig.real, for deferring it during package installation.
2015-02-03tests: install hostname debug toolMartin Pitt
This is mostly a vehicle to pull in libnsl.so which gets dlopen()ed by NSS under certain NSS configurations.
2015-02-03tests: install all required libnss modulesMartin Pitt
Don't assume "files" for everything in nsswitch. Instead, ask "getent passwd" about which libnss modules it dlopen()s, and install these.
2015-02-03tests: don't hardcode systemctl pathMartin Pitt
Get it from type -P instead, to support --enable-split-usr.
2015-02-03tests: determine rootlibdir from pkg-configMartin Pitt
Prefer asking pkg-config for the rootlibdir, to also support systems with --enable-split-usr. Fall back to the hardcoded /usr/lib/systemd if that fails.
2015-02-03tests: Make sushell optional in image creationMartin Pitt
sushell does not exist in all distributions, and it can be changed with configure --with-debug-shell, so make installation of it optional.
2015-01-22Use eurlatgr as the example console fontMarko Myllynen
See https://fedoraproject.org/wiki/Changes/NewDefaultConsoleFont https://bugzilla.redhat.com/show_bug.cgi?id=1182529
2015-01-21sysv-generator: Replace Provides: symlinks with real unitsMartin Pitt
Since commit b7e7184 the SysV generator creates symlinks for all "Provides:" in the LSB header. However, this is too greedy; there are cases where the creation of a unit .service file fails because of an already existing symlink with the same name: - Backup files such as /etc/init.d/foo.bak still have "Provides: foo", and thus get a foo.service -> foo.bak.service link. foo.bak would not be enabled in rcN.d/, but we (deliberately) create units for all executables in init.d/ so that a manual "systemctl start" works. If foo.bak is processed before, the symlink already exists. - init.d/bar has "Provides: foo", while there also is a real init.d/foo. The former would create a link foo.service -> bar.service, while the latter would fail to create the real foo.service. If we encounter an existing symlink, just remove it before writing a real unit. Note that two init.d scripts "foo" and "bar" which both provide the same name "common" already work. The first processed init script wins and creates the "common.service" symlink, and the second just fails to create the symlink again. Thus create an additional test case for this to ensure that it keeps working sensibly. https://bugs.debian.org/775404
2015-01-21systemd-sysv-generator test: test scripts with hidden suffixesMartin Pitt
We don't expect any unit generated from temporary package manager, swap, and similar files.
2015-01-21sysv-generator: Handle .sh suffixes when translating Provides:Martin Pitt
When deciding whether the provided name equals the file name in sysv_translate_facility(), also consider them equal if the file name has a ".sh" suffix. This was uncovered by commit b7e7184 which then created a symlink "<name>.service" to itself for ".sh" suffixed init.d scripts. For additional robustness, refuse to create symlinks to itself in add_alias(). Add test case which reproduces the bug. https://bugs.debian.org/775889
2015-01-21systemd-sysv-generator test: fix enabled checkMartin Pitt
Fix hardcoded "foo.service", test for the actual unit parameter.
2015-01-21systemd-sysv-generator test: don't parse symlinksMartin Pitt
Generated services which are symlinks should be tested/handled differently from files, so ignore them in run_generator()'s result parsing.