On Thursday 12 June 2014 01:01:40 Peter Dimov wrote:
Andrey Semashev wrote:
On a related note, I can see addressof, checked_delete, enable_if, noncopyable, ref, value_init tests and some docs in Utility as well.
value_init is still in Utility, I think.
Oh, right, I got ahead of time. :)
I think these should be moved to Core or removed, if the tests in Core already cover these cases.
On the one hand, test duplication wastes resources.
On the other, I prefer leaving the old tests there for a release or two, to be on the safe side, because it'd be possible for the new tests to diverge and no longer test previously valid functionality. (An obvious example would be testing boost/core/header.hpp instead of boost/utility/header.hpp.)
I think everything that needs to be tested, needs to be tested in Core. That includes legacy forwarding headers, if needed, although I wouldn't say that such a test is very useful. Duplicating tests just adds confusion (and wastes resources, as you said). Even if we don't forget about them, which is possible, when the time comes it'll be more difficult to get rid of them. One would have to analyze both Core and Utility tests to see if anything needs to be pulled from Utility before removal. It's easier and safer to do everything once now, when the context is not lost.