Boost logo

Boost :

Subject: Re: [boost] boost.test regression or behavior change (was Re: Boost.lockfree)
From: Raffi Enficiaud (raffi.enficiaud_at_[hidden])
Date: 2015-10-04 14:48:49


Le 04/10/15 15:58, Tim Blechmann a écrit :
>>>>> All tests for lockfree in both master and develop branch seem to fail.
>>>
>>> Are you saying that master worked in 1.59, but fails now? Raffi, did
>>> we push
>>> any changes to master past 1.59 already? I didn't think so
>>
>> Nothing has been pushed to master since 1.59. As I said, some errors are
>> due to lockfree, some others to boost.test.
>
> well, the bug for c++03 support of boost.lockfree was only present on
> clang, while almost all tests on all platforms were failing ... so
> something must have changed in master, as at one point the tests did
> compile.

I do not think we are taking about the same problem. Just to make sure,
I am mentioning the fact that lockfree is now including <atomic> solely
relying on the version of clang. However, clang can be compiled using
C++11 support or not, in the latter case, <atomic> is not available.

So just the compiler version is not enough. But it seems you have
addressed this issue today, with the commit a2bbf2c.

> even if this was caused by a user bug, it must have been exposed by some
> change to boost.test, which would most likely have been caught by
> running the complete tests of boost before and after a merge from
> develop to master. if the results are different, it might indicate a bug
> (or user bug). if it shows a bug, please don't push the merge. if it
> shows a user bug, please notify the corresponding library maintainers.

As we said, we haven't not pushed any change to master since 1.59. OTOH,
the website encountered some problems for updating the test results
(which might explain why some of those were unnoticed), and the problem
I mentioned above concerning lockfree appeared at commit 9f52c24
(master), which is post 1.59.

I believe:
- lockfree[master] vs boost.test[master] is failing, because of the
<atomic> issues
- lockfree[develop] vs boost.test[master] is ok with your latest changes
- lockfree[develop] vs boost.test[develop] is failing because of the
boost.test[develop] C++11 issues.

So you *should* (in theory) see your tests ok once you merge
lockfree[develop] into master. Lockfree tests in develop will fail until
we fix the issue in develop.

Raffi


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk