Bug 12277

Summary: dbus-test-ptest is broken
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Juro Bystricky <juro.bystricky>
Component: coreAssignee: Juro Bystricky <juro.bystricky>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium+ CC: jose.perez.carranza, meta.mr.watcher, meta.watcher, richard.purdie, ross.burton
Version: 2.4.1   
Target Milestone: 2.5 M3   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)
Attachments:
Description Flags
dbus-test ptest-runner log (with stderr output included) none

Description Juro Bystricky 2017-10-25 22:33:32 UTC
Created attachment 4101 [details]
dbus-test ptest-runner log (with stderr output included)

The reason for the failures is that dbus-test-ptest tests against the installed 
libdbus-1.so, which was built and installed by **different** package (I believe it was dbus-dev).

Normally dbus-test would use a local libdbus-1.so and testing using this library would not create problems.  Although both libraries are built from the same sources, they are configured differently. The library (and test apps) in dbus-test are configured with --enable-assert and --enable-verbose. However, the distributed/installed library was configured/built without these.
So when a test app tries to issue an assert or print a (warning) message we get a segmentation fault or some import/export relocation error (see the attachement).

The remedy would be to configure the dbus-test-ptest library same as dbus-dev library, or as much as possible. (For example, libdbus-test-ptest should be configured without --enable-assert and --enable-verbose)

Copying and using the dbus-test-ptest library would alleviate the problems, but the purpose of the testing is to test the **installed** library, not a local copy.
Comment 1 Juro Bystricky 2017-11-08 18:12:14 UTC
*** Bug 10841 has been marked as a duplicate of this bug. ***
Comment 2 Ross Burton 2018-02-22 16:04:18 UTC
We can't consolidate the flags as that's the reason for the split: test flags are not suitable for performance.

Maybe we need to make dbus-test statically link to the libdbus it built?

(or just throw away dbus-test)
Comment 3 Juro Bystricky 2018-02-22 16:07:54 UTC
(In reply to comment #2)
> We can't consolidate the flags as that's the reason for the split: test
> flags are not suitable for performance.
> 
> Maybe we need to make dbus-test statically link to the libdbus it built?
> 
> (or just throw away dbus-test)

yes, dbus-test is not good for anything in this context. There is point in testing a library that is not installed, or is installed in a way that only the test can see it.

We can add some -ptest into dbus package.