Commit graph

4451 commits

Author SHA1 Message Date
Simon McVittie
5602ef4bf2 Merge branch 'dbus-1.10' into dbus-1.10-ci 2016-05-18 18:14:16 +01:00
Simon McVittie
78362cfc62 test-segfault: add missing include of <stdio.h> on Windows
Needed for fprintf (stderr, ...).

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
(cherry picked from commit 07b7dcd717)
2016-05-18 18:13:48 +01:00
Ralf Habacker
7bcaf35bca Fix ambiguous setup of DBusBabySitter struct member child_handle on Windows.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95191
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2016-05-16 12:52:25 +02:00
Ralf Habacker
baeea825a4 On Windows make access to member 'refcount' of struct DBusBabysitter thread safe.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95191
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2016-05-13 13:39:30 +02:00
Ralf Habacker
a5c51278ad Eliminates a race condition accessing DBusBabysitter instance at startup of babysitter() on Windows.
Ensure that the babysitter thread already owns its one reference to the
babysitter when it starts up, and eliminates the race condition.
This patch requires that DBusBabysitter refcounting is thread-safe
and is based on an analysis and proposal of Simon Mc Vittie.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95191
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2016-05-13 13:39:19 +02:00
Ralf Habacker
5ef167c139 Suppress Windows popups and jit debugger when app crashes with exception.
Based on a patch from Yiyang Fei.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95155
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2016-05-09 21:49:22 +02:00
Yiyang Fei
cdf9fd02d2 Fix crash in test-spawn unit test app on Windows.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95160
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2016-04-29 19:23:35 +02:00
Ralf Habacker
eaf231b7db Fix assert in test-spawn caused by missing initialization of DBusError instance on gcc builds.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=95160
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
(cherry picked from commit 9323a621e8)
2016-04-29 19:19:57 +02:00
Simon McVittie
aa44956ef6 Merge branch 'dbus-1.10' into dbus-1.10-ci 2016-03-07 19:45:15 +00:00
Simon McVittie
ffa99f343d 1.10.9 2016-03-07 19:31:52 +00:00
Simon McVittie
dc8f8c5294 1.10.8
Signed-off-by: Simon McVittie <smcv@debian.org>
2016-03-07 16:07:20 +00:00
Simon McVittie
4b069c8a4c Disable travis-ci apt source for Google Chrome
This prevents adding i386 as a foreign architecture. We don't need
Chrome anyway.

Signed-off-by: Simon McVittie <smcv@debian.org>
2016-03-02 22:26:47 +00:00
Simon McVittie
735cf7b844 Merge branch 'dbus-1.10' into dbus-1.10-ci 2016-03-02 18:52:34 +00:00
Simon McVittie
42ccc7dc39 update NEWS 2016-03-02 18:24:11 +00:00
Dmitri Iouchtchenko
bfd9c8a3b3 dbus-test-tool echo: fix sleep documentation
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=94244
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2016-03-02 18:19:35 +00:00
Simon McVittie
64d6dbd190 Statically assert that the DBusMessageIter struct has no padding
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Thiago Macieira <thiago@kde.org>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=94136
2016-03-02 18:17:57 +00:00
Simon McVittie
38a5c3028e DBusMessageIter: eliminate padding on 64-bit platforms
Previously, 64-bit (LP64 or LLP64) platforms would have had 32 bits
of padding between pad2 and pad3. We want to guarantee that an ISO C
compiler will copy the entire struct when assigning between structs,
but padding is not guaranteed to be copied, so we want to ensure that
the struct is "packed".

Statically assert that the old ABI is compatible with the new ABI.

Reviewed-by: Thiago Macieira <thiago@kde.org>
[smcv: change >= to == as Thiago requested]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=94136
2016-03-02 18:16:26 +00:00
Simon McVittie
338cfa1599 DBusMessage: assert the properties we need DBusMessageIter to have
We already asserted that DBusMessageIter must be at least as large
as DBusMessageRealIter (so that casting DBusMessageIter * to
DBusMessageRealIter * does not result in overflowing the stack
variable). Also assert that it must have alignment requirements at
least as strict as those of DBusMessageRealIter * (so that casting
does not increase the required alignment).

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Thiago Macieira <thiago@kde.org>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=94136
2016-03-02 18:15:36 +00:00
Simon McVittie
ca9ea25e11 dbus-internals: add _DBUS_ALIGNOF
This is useful when making static assertions about our types'
properties.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Thiago Macieira <thiago@kde.org>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=94136
2016-03-02 18:15:12 +00:00
Simon McVittie
9abba2d935 NEWS so far 2016-02-24 10:50:22 +00:00
Simon McVittie
d29534c075 Merge branch 'dbus-1.10' into dbus-1.10-ci 2016-02-12 15:32:38 +00:00
Simon McVittie
384c924c77 Revert "Replace $DBUS_USE_TEST_BINARY with $DBUS_TEST_DBUS_LAUNCH"
This reverts commit 8fd2be6013.
This change was intended for 1.11.
2016-02-12 15:25:15 +00:00
Simon McVittie
9843c724c6 Revert "name-test C tests: produce structured (TAP) output"
This reverts commit fec99c9b3d.
This change was intended for 1.11.
2016-02-12 15:25:13 +00:00
Simon McVittie
c285a053d6 Revert "name-test: run most C tests directly, not via run-test.sh"
This reverts commit d893121efd.
This change was intended for 1.11.
2016-02-12 15:25:12 +00:00
Simon McVittie
1aa36b48cc Revert "Rename function string_array_length() to _dbus_string_array_length() and move it to dbus-internals.c."
This reverts commit 1370b44035.
This change was intended for 1.11.
2016-02-12 15:25:09 +00:00
Simon McVittie
554dba974c Revert "Add new functions _dbus_hash_table_to_array() and _dbus_hash_table_from_array() from related activation code."
This reverts commit 610ff8d964.
This change was intended for 1.11.
2016-02-12 15:24:55 +00:00
Ralf Habacker
610ff8d964 Add new functions _dbus_hash_table_to_array() and _dbus_hash_table_from_array() from related activation code.
These functions are required for dbus-run-session.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92899
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2016-02-11 23:43:09 +01:00
Ralf Habacker
1370b44035 Rename function string_array_length() to _dbus_string_array_length() and move it to dbus-internals.c.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92899
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2016-02-11 02:41:12 +01:00
Simon McVittie
d893121efd name-test: run most C tests directly, not via run-test.sh
The exception is test-autolaunch, which is really not particularly
useful as a build-time test. The only way we can really test
autolaunch is as a whole-system integration test, and "make check"
is not that.

The two tests written in Python and one test based on dbus-send
are also not run directly yet; in particular, that includes both
the tests in run-test-systemserver.sh.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92899
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2016-02-11 02:37:17 +01:00
Simon McVittie
fec99c9b3d name-test C tests: produce structured (TAP) output
Similar to commit 58eefa1031.

test-privserver is a helper executable, not a test. I moved its output
from stdout to stderr so it can't be misinterpreted as the test's
stdout.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92899
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2016-02-11 02:37:14 +01:00
Simon McVittie
8fd2be6013 Replace $DBUS_USE_TEST_BINARY with $DBUS_TEST_DBUS_LAUNCH
Instead of using $DBUS_USE_TEST_BINARY to control whether to use the
hard-coded test binary TEST_BUS_LAUNCH_BINARY, we can just use
$DBUS_TEST_DBUS_LAUNCH to control what we launch directly, as we
were already doing for $DBUS_TEST_DAEMON.

Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92899
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2016-02-11 02:37:11 +01:00
Simon McVittie
d5a1917ec3 Merge branch 'dbus-1.10' into dbus-1.10-ci 2016-02-08 19:21:02 +00:00
Nick Lewycky
b065413b0e marshal-validate: run all the tests instead of just the even ones
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93908
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
[smcv: Re-enable the failing test that Nick disabled, and fix the
expected result; the result given by our current implementation is
reasonable.]
2016-02-08 17:43:50 +00:00
Simon McVittie
ac494ece06 Merge branch 'dbus-1.10' into dbus-1.10-ci 2016-02-08 17:35:51 +00:00
Simon McVittie
96ffc2a07e configure.ac: support large-file for stat64
dbus-daemon is not expected to open files with large *sizes*, but without
large file support, calling [f]stat() on a file that happens to have a
large inode number will fail with EOVERFLOW (see stat(2)). For example,
files mounted from an NFS server might have large inode numbers.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93545
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
[smcv: shorten and clarify commit message; move AC_SYS_LARGEFILE
after AC_USE_SYSTEM_EXTENSIONS because nothing should compile C before
that point]
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2016-02-08 17:25:38 +00:00
Simon McVittie
dbeb65c689 Merge branch 'dbus-1.10' into dbus-1.10-ci 2016-01-25 15:06:18 +00:00
Simon McVittie
7eb34fc2cd test/name-test/run-test.sh: output correct result if a C test fails
Loosely based on a patch from amit tewari.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93379
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2016-01-25 15:05:49 +00:00
Simon McVittie
6db53271b1 add travis-ci.org build machinery
The idea is that .travis.yml is specific to Travis-CI, but most of the
actual work is done in tools/ci-build.sh, which should be reasonably
CI-platform-agnostic (it currently assumes that build-dependendencies are
preinstalled, that the "native" platform we're building on is GNU/Linux
or something very close, and that "mingw" means mingw-w64 as packaged
in Debian and Ubuntu).

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93194
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2015-12-02 18:51:08 +00:00
Simon McVittie
d5de08f2f9 Don't try to run manual tests in installcheck
We were mistakenly running all installed executables, even manual tests
that never terminate.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93194
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2015-12-02 18:51:08 +00:00
Simon McVittie
0c0cd9aefd Fix shell syntax for installcheck-local with no DESTDIR
A closing brace must be preceded by a semicolon. The CI integration
added later in this branch actually runs "make installcheck"
with no DESTDIR; apparently nobody else has ever tried that.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93194
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2015-12-02 18:51:08 +00:00
Simon McVittie
31eccce801 Do not require systemd to have a service file if using it for activation
With --systemd-activation we special-case the name
org.freedesktop.systemd1 by assuming that it will eventually connect
to the bus. With that in mind, we can ignore whether it has a
.service file, and let it be "activated" regardless.

This fixes a regression test failure on non-systemd systems such
as the Ubuntu 14.04 OS on travis-ci.org: UpdateActivationEnvironment
failed, because it tried to update the (fake) systemd environment,
but because systemd was not actually installed, there was no
service file for it in the system's search paths. We could address this
by placing a dummy service file with Exec=/bin/false in our search path
like the real systemd does, but it seems cleaner to not require this;
this would eventually enable the real systemd to stop installing
that dummy service file.

This would not happen outside the regression tests, because there is
no sense in using --systemd-activation without systemd installed.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93194
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2015-12-02 18:51:08 +00:00
Simon McVittie
5a3e7de9d6 _dbus_test_oom_handling: allow disabling it as documented
We documented DBUS_TEST_MALLOC_FAILURES=0 in HACKING, but it didn't
actually work: we'd iterate from i=-1 to i=0.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93194
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2015-12-02 18:51:08 +00:00
Simon McVittie
085f9348a1 cmake: run all automated tests with --tap for better diagnostics
For GLib-based tests it's useful, because it means g_test_message()
gets logged. For the embedded tests it's now accepted and ignored.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93194
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2015-12-02 18:51:08 +00:00
Simon McVittie
ae533ae9b9 embedded tests: accept and ignore --tap argument
This makes them semi-command-line-compatible with a way we can
invoke the GLib-based tests to get more useful debug logs.

These tests still do not actually produce TAP output yet; I tried
implementing that, but it requires changing a lot of noise on stdout
to come out of stderr, and there was something weird going on with
subprocesses restarting the test numbering which will need further
investigation before making that change.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93194
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2015-12-02 18:51:08 +00:00
Simon McVittie
a6d7455a70 cmake: copy the systemd-activation directory too
It is needed for a couple of test-cases.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93194
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2015-12-02 18:51:08 +00:00
Simon McVittie
65a8e2227f cmake: manual-tcp is not an automated test
Don't run it when we run automated tests.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93194
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
[smcv: backport to dbus-1.10]
2015-12-02 18:50:58 +00:00
Simon McVittie
2a7d0be6a1 Avoid -Wunused-label when compiling with libselinux but no libaudit
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93194
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
2015-12-02 18:49:39 +00:00
Simon McVittie
e18b4eb14c 1.10.7 2015-12-01 21:36:02 +00:00
Simon McVittie
7d3b2b1cbe 1.10.6 2015-12-01 18:19:17 +00:00
Simon McVittie
50fb01027b NEWS for 1.10 branch 2015-11-23 21:10:09 +00:00