summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* Add a regression test for connecting to XDG_RUNTIME_DIR/bus by defaultSimon McVittie2015-02-243-3/+90
| | | | | | | This test requires the unix:runtime=yes sub-transport from Bug #61303. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=61301 Reviewed-by: Philip Withnall <philip.withnall@collabora.co.uk>
* Add regression test for unix:runtime=yesSimon McVittie2015-02-241-0/+103
| | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=61303 Reviewed-by: Philip Withnall <philip.withnall@collabora.co.uk>
* tests: reassure clang that oom() does in fact not returnSimon McVittie2015-02-242-0/+4
| | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=89243 Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
* tests: simplify Makefile.am now that libdbus is always dynamically linkedSimon McVittie2015-02-231-25/+11
| | | | | | | | | | | | | testutils_shared_if_possible_cppflags is now just a copy of AM_CPPFLAGS, which is the default and does not need to be given explicitly, so those lines can be removed. Similarly, testutils_shared_if_possible_libs is just the libdbus-testutils.la convenience library, so expand it and remove the unnecessary variable. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=83115 Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
* Fix static linking with mingwSimon McVittie2015-02-202-0/+2
| | | | | | | | | | Now that we're normally linking libdbus-1 dynamically, we need to use DBUS_STATIC_BUILD_CPPFLAGS in every Makefile that would normally link it dynamically, but might link it statically if we are only building static libraries. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=83115 Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
* Link dbus-daemon and dbus-daemon-lauch-helper against libdbusBertrand SIMONNET2015-02-202-34/+7
| | | | | | | | | | | | | | The shared can be used by dbus-daemon and dbus-daemon-launch-helper by exporting the private symbols needed, reducing the size of dbus by about 500k. The private symbols are exposed under the version LIBDBUS_PRIVATE_@VERSION_NUMBER@. [Altered by Simon McVittie and Ralf Habacker to clear up some problematic linking.] Bug: https://bugs.freedesktop.org/show_bug.cgi?id=83115 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
* tests: always use libdbus-internal for main loop, never dbus-glibSimon McVittie2015-02-204-101/+19
| | | | | | | | | | This gets rid of a potential circular dependency, which is annoying when bootstrapping. It is nice to have the regression tests use the shared libdbus, but we're about to make it possible to do that anyway, even though some of them use internal symbols. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=83115 Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
* Add regression test for LinuxSecurityLabel credentialSimon McVittie2015-02-181-1/+25
| | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=89041 Reviewed-by: Philip Withnall <philip.withnall@collabora.co.uk>
* Add manual-paths test to the Autotools (mingw) build tooSimon McVittie2015-02-161-0/+8
| | | | | As in CMake, it is restricted to Windows builds, since the functionality that it tests is not present in Unix builds.
* Add manual-paths test executable with cmake build support.Ralf Habacker2015-02-121-0/+73
| | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=83539 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
* Reduce the number of fds the fdpass test usesSimon McVittie2015-02-111-2/+23
| | | | | | | | | | | It was relying on a higher-than-default fd limit; cut it down to more than 256 but rather less than 1024, since the default Linux limit is 1024 fds per user. Also automatically skip this test if our rlimit is too small. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88998 Reviewed-by: Philip Withnall <philip.withnall@collabora.co.uk>
* Add test for windows sid.Ralf Habacker2015-02-111-2/+22
| | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=54445 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
* Add a regression test for making systemd activation appear to failSimon McVittie2015-02-091-0/+31
|
* Add test-fdpass to the build, and make it compile againSimon McVittie2015-02-052-1/+13
| | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88998 Reviewed-by: Philip Withnall <philip.withnall@collabora.co.uk>
* tests: make installable metadata Windows-friendly by using EXEEXTSimon McVittie2015-02-051-2/+2
| | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88980 Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
* tests: make sure to specify CPPFLAGS where neededSimon McVittie2015-02-051-0/+2
| | | | | | | | | test-marshal and test-syntax need the $(testutils_shared_if_possible_cppflags), so that they will get the $(static_cflags) when we are not linking to dbus-glib. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88980 Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
* Add a common test_init() for GLib tests which prevents hanging foreverSimon McVittie2015-02-0416-29/+53
| | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=46787 Reviewed-by: Philip Withnall <philip.withnall@collabora.co.uk>
* Add a regression test for being a new-style monitorSimon McVittie2015-02-043-0/+1526
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes most of the situations I could think of: * method call on dbus-daemon and response * NameOwnerChanged * NameAcquired, NameLost (although I'm not 100% sure these should get captured, since they're redundant with NameOwnerChanged) * unicast message is allowed through * unicast message is rejected by no-sending or no-receiving policy * broadcast is allowed through * broadcast is rejected by no-sending policy (the error reply is also captured) * broadcast is rejected by no-receiving policy (there is no error reply) * message causing service activation, and the message telling systemd to do the actual activation * systemd reporting that activation failed It does not cover: * sending a message to dbus-daemon, then provoking a reply, then dbus-daemon does not allow itself to send the reply due to its own security policy This is such an obscure corner case that I'm not even convinced it's testable without dropping down into lower-level socket manipulation: dbus-daemon's replies are always assumed to be requested replies, and replies contain so little other metadata that I think we can only forbid them by forbidding all method replies. If we do that, the reply to Hello() won't arrive and the client-side connection will not become active. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=46787 Reviewed-by: Philip Withnall <philip.withnall@collabora.co.uk>
* Treat root as a valid candidate for TEST_USER_MESimon McVittie2015-02-032-15/+4
| | | | | | | | | | | | If spawn_dbus_daemon() can fail for TEST_USER_ME, then we'd have to go through all the tests adding the ability to skip tests after it fails, which is a fairly extensive change. The tests have historically all run as whatever uid is supplied, and if the tests are being run as root for some reason - perhaps in a CI framework for an embedded platform that doesn't have non-root users, or in an environment where you can be root or non-root but not both - there is no particular reason to skip them.
* Add a regression test for systemd activationSimon McVittie2015-02-038-0/+363
| | | | | | | 4.5 years after it was implemented, here is the regression test. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=57952 Reviewed-by: Philip Withnall
* bus driver: factor out bus_driver_check_caller_is_privileged, and allow rootSimon McVittie2015-02-031-3/+3
| | | | | | | | | | | | Unlike the initial mitigation for CVE-2014-8148, we now allow uid 0 to call UpdateActivationEnvironment. There's no point in root doing that, but there's also no reason why it's particularly bad - if an attacker is uid 0 we've already lost - and it simplifies use of this function for future things that do want to be callable by root, like BecomeMonitor for #46787. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88810 Reviewed-by: Philip Withnall
* Add a test for uid-controlled permissionsSimon McVittie2015-02-035-0/+311
| | | | | | | | This is technical debt from mitigating CVE-2014-8148, which should really have had a regression test at the time. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88810 Reviewed-by: Philip Withnall
* Add infrastructure to run bits of tests under an alternative uidSimon McVittie2015-02-034-11/+142
| | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88810 Reviewed-by: Philip Withnall
* test: implement GLib-style "installed tests"Simon McVittie2015-02-031-6/+33
| | | | | | | | | | | | | We run each test twice: * once with the system's session.conf, as an integration test (test-cases that need a special configuration are automatically skipped) * once with our special test configuration files, which provide better coverage Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88810 Reviewed-by: Philip Withnall
* Generate test configuration files via build-time sed, not configureSimon McVittie2015-02-031-6/+64
| | | | | | | | This means we can generate a version that works when installed, from the same source files. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88810 Reviewed-by: Philip Withnall
* Factor out some utility functions from test/dbus-daemon*Simon McVittie2015-02-037-350/+330
| | | | | | | | | | | In the process, make test_kill_pid() safer: do not try to terminate more than one pid, or the NULL handle. Also stop leaking the address_fd in spawn_dbus_daemon, a pre-existing bug that was spotted by Philip Withnall during review. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88810 Reviewed-by: Philip Withnall
* Bump required GLib version to 2.36Simon McVittie2015-02-032-7/+0
| | | | | | | | | This is for g_close(), which the next commit will use. It also lets us rely on g_type_init() being a no-op (since 2.32 the type system is always initialized by a global constructor). Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88810 Reviewed-by: Philip Withnall
* Update .gitignore filesLukasz Skalski2015-02-032-0/+4
| | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88943 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
* Add manual tcp test case.Ralf Habacker2015-01-302-1/+52
| | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=87999 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
* Use pygi instead of pygobject 2Simon McVittie2015-01-272-6/+6
| | | | | | | | | pygobject 2 is obsolete and unmaintained, and anyway this is for optional functionality (full regression test coverage) rather than anything that will be needed in production builds. Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=85969
* Merge branch 'dbus-1.8' and prepare 1.9.6dbus-1.9.6Simon McVittie2015-01-011-0/+87
|\ | | | | | | | | | | | | Conflicts: NEWS configure.ac test/dbus-daemon.c
| * Add a regression test for path-based UpdateActivationEnvironment hardeningSimon McVittie2015-01-011-0/+87
| | | | | | | | Reviewed-by: Thiago Macieira <thiago@kde.org>
* | DBusSystemLogSeverity: add DBUS_SYSTEM_LOG_WARNINGAlban Crequy2014-11-181-1/+3
| | | | | | | | | | Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=85105
* | Add NetBSD to the list of platforms where credentials-passing a pid should workSimon McVittie2014-11-061-1/+2
| | | | | | | | | | | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=69702 Reviewed-by: Patrick Welche <prlw1@cam.ac.uk> Reviewed-by: Alban Crequy <alban.crequy@collabora.co.uk> Tested-by: Patrick Welche <prlw1@cam.ac.uk>
* | test_processid: only assert that it works if we expect it to workSimon McVittie2014-11-061-10/+22
| | | | | | | | | | | | | | | | | | Otherwise, this would fail on, for instance, QNX. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=69702 Reviewed-by: Patrick Welche <prlw1@cam.ac.uk> Reviewed-by: Alban Crequy <alban.crequy@collabora.co.uk> Tested-by: Patrick Welche <prlw1@cam.ac.uk>
* | Implement NetBSD credentials-passing with LOCAL_PEEREIDPatrick Welche2014-11-061-0/+55
| | | | | | | | | | | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=69702 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by: Alban Crequy <alban.crequy@collabora.co.uk> Tested-by: Patrick Welche <prlw1@cam.ac.uk>
* | dbus-daemon test: don't assert we pass uid/pid on unknown Unix platformsSimon McVittie2014-11-061-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We know that Linux, FreeBSD and OpenBSD are "first class citizens" for credentials-passing, with NetBSD not far behind: people have turned up on the bug tracking system and told us that tests passed. On other Unixes, we can't really assert that it works, until someone who runs them tells us that it worked for them. Additions to these lists are welcome. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=69702 Reviewed-by: Patrick Welche <prlw1@cam.ac.uk> Reviewed-by: Alban Crequy <alban.crequy@collabora.co.uk> Tested-by: Patrick Welche <prlw1@cam.ac.uk>
* | Stop asserting that we're not using the dummy lock implementationSimon McVittie2014-10-291-10/+0
| | | | | | | | | | | | | | | | | | That implementation no longer exists, so neither 0xABCDEF nor 0xABCDEF2 has any special meaning any more. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=54972 Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk> Reviewed-by: Alban Crequy <alban.crequy@collabora.co.uk>
* | Use a better NoReply message for disconnection with reply pendingSimon McVittie2014-10-293-2/+113
| | | | | | | | | | | | | | | | | | | | As an implementation detail, dbus-daemon handles this situation by artificially triggering a timeout (even if its configured timeout for method calls is in fact infinite). However, using the same debug message for both is misleading, and can lead people who are debugging a service crash to blame dbus-daemon instead, wasting their time. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=76112
* | New test for fd-passingSimon McVittie2014-09-171-0/+853
| | | | | | | | | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=83622 Reviewed-by: Alban Crequy <alban.crequy@collabora.co.uk> [add dbus-sysdeps-unix.h as required for close-on-exec in master -smcv]
* | Make various system-bus-related things Unix-onlySimon McVittie2014-09-151-1/+1
| | | | | | | | | | | | | | | | There is no system bus on Windows, and there won't be until/unless it can be secure. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=83583 Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
* | Merge branch 'dbus-1.8'Simon McVittie2014-09-151-1/+17
|\ \ | |/
| * On Linux, call prctl to disable core dumpsSimon McVittie2014-09-151-1/+17
| | | | | | | | | | | | | | | | Whenever I forget to turn off corekeeper, the regression tests take ages to record all test-segfault's crashes. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=83772 Reviewed-by: Alban Crequy <alban.crequy@collabora.co.uk>
* | Add directory test application 'manual-dir-iter' to cmake and autotools ↵Ralf Habacker2014-09-082-0/+97
| | | | | | | | | | | | | | build system. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=57272 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
* | .gitignore: ignore incoming-limit.conf fileLukasz Skalski2014-06-111-0/+1
|/ | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=78977 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
* Handle 0x0d0a EOLs in spawn_dbus_daemon()Руслан Ижбулатов2014-04-302-0/+4
| | | | | | | | On W32 dbus daemon will print output in text mode, with 0x0d0a EOLs instead of just 0x0a. Be able to handle that. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=75863 Reviewed-by: Simon McVittie
* Update .gitignore filesLukasz Skalski2014-03-061-0/+6
| | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=75833 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
* Rename bus-test-launch-helper to test-bus-launch_helper to match common test ↵Ralf Habacker2014-01-171-1/+1
| | | | | | | application naming scheme. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=73495 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
* Rename bus-test-system to test-bus-system to match common test application ↵Ralf Habacker2014-01-171-1/+1
| | | | | | | naming scheme. Bug: https://bugs.freedesktop.org/show_bug.cgi?id=73495 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
* Rename bus-test to test-bus to match common test application naming scheme.Ralf Habacker2014-01-172-2/+2
| | | | | Bug: https://bugs.freedesktop.org/show_bug.cgi?id=73495 Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>