Fixing test coverage reports in at-spi2-core



At-spi2-core has some peculiar modules. It does not provide a single program or library that one can just run by hand. Instead, it provides a couple of libraries and a couple of daemons that get used through those libraries, or through raw DBus calls.
In particular, at-spi2-registryd is the registry daemon for accessibility, which multiplexes requests from assitive technologies (ATs) like screen readers into applications. It doesn't even use the session DBus; it registers itself in a separate DBus daemon specific to accessibility, to avoid too much traffic in the main session bus.
at-spi2-registryd gets started up as soon as something requires the accessibility APIs, and remains running until the user's session ends.
However, in the test runner, there is no session. The daemon runs, and gets a SIGTERM from its parent dbus-daemon when it terminates. So, while at-spi2-registryd has no persistent state that it may care about saving, it doesn't exit "cleanly".
And it turns out that gcc's coverage data gets written out only if the program exits cleanly. When you compile with the --coverage option, gcc emits code that turns on the flag in libgcc to write out coverage information when the program ends (libgcc is the compiler-specific runtime helper that gets linked into normal programs compiled with gcc).
-

- Login or register to post comments
Printer-friendly version- 1220 reads
PDF version
More in Tux Machines
- Highlights
- Front Page
- Latest Headlines
- Archive
- Recent comments
- All-Time Popular Stories
- Hot Topics
- New Members
today's howtos
|
Open Hardware: XON/XOFF and Raspberry Pi Pico
|
Security Leftovers
|
How to Apply Accent Colour in Ubuntu Desktop
A step-by-step tutorial on how to apply accent colour in Ubuntu desktop (GNOME) with tips for Kubuntu and others.
|





This section of TuxMachines will no longer have new stories in it (with some caveats, including this post). To see the latest stories go to 

.svg_.png)
Content (where original) is available under CC-BY-SA, copyrighted by original author/s.

Recent comments
1 day 23 hours ago
2 days 3 hours ago
2 days 3 hours ago
3 days 10 hours ago
3 days 11 hours ago
3 days 12 hours ago
3 days 12 hours ago
3 days 13 hours ago
3 days 15 hours ago
3 days 17 hours ago