Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 642958 - dev-libs/libical-2.0.0-* fails test icalrecurtest-r: race condition in test suite
Summary: dev-libs/libical-2.0.0-* fails test icalrecurtest-r: race condition in test s...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-01 13:11 UTC by gentoo_usr
Modified: 2018-01-06 21:31 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description gentoo_usr 2018-01-01 13:11:50 UTC
The test suite for libical-2.0.0 fails for me the test icalrecurtest-r (nearly reproducibly). Sometimes it succeeds but most of the time it fails with a mismatch of the output to a reference output. From Testing/Temporary/LastTest.log:
<pre>
CMake Error at /var/tmp/portage/dev-libs/libical-2.0.0-r2/work/libical-2.0.0/cmake/run_test.cmake:38 (message):
  Output does not match for
  /var/tmp/portage/dev-libs/libical-2.0.0-r2/work/libical-2.0.0/src/test/icalrecur_withicu_dangi_test.out
  and
  /var/tmp/portage/dev-libs/libical-2.0.0-r2/work/libical-2.0.0_build/bin/test.out:
  Files
  "/var/tmp/portage/dev-libs/libical-2.0.0-r2/work/libical-2.0.0/src/test/icalrecur_withicu_dangi_test.out"
  to
  "/var/tmp/portage/dev-libs/libical-2.0.0-r2/work/libical-2.0.0_build/bin/test.out"
  are different.

</pre>
Indeed if I check bin/test.out, then it's not identical to src/test/icalrecur_withicu_dangi_test.out but to src/test/icalrecur_test.out.

I did some investigation and found that the tests icalrecurtest and icalrecurtest-r write their output to the same file ${CMAKE_BINARY_DIR}bin/test.out (see src/test/CMakeLists.txt).
If they are run in parallel, icalrecurtest-r fails complaining in .../libical-2.0.0_build/Testing/Temporary/LastTest.log that the reference file src/test/icalrecur_withicu_dangi_test.out does not match the output bin/test.out.
If I run the merge with MAKEOPTS="-j1", then the test never failed so far.

I suggest running the test suite with "-j1" instead as it is already done in libical-1.0.1 and libical-3.0.1:

src_test() {                                                                                                                                                                                                                                   
    local myctestargs=( -j1 )                                                                                                                                                                                                                  
    cmake-utils_src_test                                                                                                                                                                                                                       
}

Note: This is not related to #532296.
Comment 1 Larry the Git Cow gentoo-dev 2018-01-06 21:31:53 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc2d99a95b22a0beaa3906084d4816bf041052a6

commit fc2d99a95b22a0beaa3906084d4816bf041052a6
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2018-01-06 20:52:38 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2018-01-06 21:31:42 +0000

    dev-libs/libical: Don't execute tests in parallel
    
    Closes: https://bugs.gentoo.org/642958
    Package-Manager: Portage-2.3.19, Repoman-2.3.6

 dev-libs/libical/libical-2.0.0-r2.ebuild | 7 ++++++-
 dev-libs/libical/libical-2.0.0-r3.ebuild | 7 ++++++-
 2 files changed, 12 insertions(+), 2 deletions(-)