Modify

Opened 7 years ago

Closed 7 years ago

#4776 closed Patches (fixed)

Mods to search_n test to show msvc failure

Reported by: Jim Bell <jim@…> Owned by: neilgroves
Milestone: Boost 1.46.0 Component: range
Version: Boost Development Trunk Severity: Problem
Keywords: Cc:

Description

The range trunk test matrix shows a couple stray failures for msvc tests. As you probably suspect, the problem seems to be in msvc's std lib.

These mods to the test prove it. (See attached patch.)

Attachments (2)

test_range_search_n.patch (795 bytes) - added by Jim Bell <jim@…> 7 years ago.
test_range_search_n_v2.patch (810 bytes) - added by Jim Bell <jim@…> 7 years ago.

Download all attachments as: .zip

Change History (10)

Changed 7 years ago by Jim Bell <jim@…>

comment:1 Changed 7 years ago by Jim Bell <jim@…>

Here's what it generates...

Running 1 test case...
unknown location(0): fatal error in "test_search_n": C:\Program Files\VS8\VC\INCLUDE\list(213) : Assertion failed: list iterator not dereferencable

..\libs\range\test\algorithm_test\search_n.cpp(34): last checkpoint: Pre-std: value: 9; n:2

*** 1 failure detected in test suite "Master Test Suite"

comment:2 Changed 7 years ago by Jim Bell <jim@…>

A more complete patch & results...

Running 1 test case...
unknown location(0): fatal error in "test_search_n": C:\Program Files\VS8\VC\INCLUDE\list(213) : Assertion failed: list iterator not dereferencable

..\libs\range\test\algorithm_test\search_n.cpp(34): last checkpoint: Pre-std: class std::list<int,class std::allocator<int> >; value: 9; n:2; size:9

*** 1 failure detected in test suite "Master Test Suite"

Changed 7 years ago by Jim Bell <jim@…>

comment:3 Changed 7 years ago by Jim Bell <jim@…>

Also, can this mode of failure for relevant platforms be marked as an "expected" failure, allowing the entire range library to not be marked as fail/yellow on the main matrix?

comment:4 Changed 7 years ago by Jim Bell <jim@…>

  • Severity changed from Optimization to Regression

comment:5 Changed 7 years ago by neilgroves

  • Severity changed from Regression to Problem
  • Status changed from new to assigned

I'm going to tackle this slightly differently. There isn't an "expected" failure of Boost.Range this is unfortunately an expected failure of the Visual C++ standard library as you have described. Hence it is misleading to make my Boost.Range test fail since the algorithm actually works. This test result should pass. I shall modify the test to check for the correct result rather than test for equivalence to the standard library implementation.

comment:6 Changed 7 years ago by Jim Bell <jim@…>

Excellent. A passing test is much more valuable than an explained failure.

I think it's very useful/helpful (and interesting) to see the standard library failure as my patch shows, and would love it to be kept around for the record, but if you can't find a place for it, I understand.

comment:7 Changed 7 years ago by neilgroves

I have altered the implementation as proposed earlier. It no longer uses the standard library implementation in either the core implementation or in the test. I shall monitor the progress on the trunk regression tests before a subsequent merge to the release branch.

comment:8 Changed 7 years ago by neilgroves

  • Milestone changed from To Be Determined to Boost 1.46.0
  • Resolution set to fixed
  • Status changed from assigned to closed

Add Comment

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain neilgroves.
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.