> -----Original Message-----
> From: Martin Sebor [mailto:sebor@roguewave.com]
> Sent: Friday, March 23, 2007 6:29 PM
> To: stdcxx-dev@incubator.apache.org
> Subject: incorrect pass rate for 23.deque.iterators on Windows
>
> While looking at our Windows nightly test results I spotted
> what I suspect to be a case of some bad math in the exec
> utility when calculating percentages. The 23.deque.iterators
> test is reported as failing 0 out of a total of 77,810,809
> assertions and its pass rate as being 44%. This happens with
> both MSVC 7.1 and 8.0. The pass rate is clearly wrong but I
> suspect the 77 million assertions isn't really correct either
> (on UNIX we consistently get 4,915,404).
>
> 23.deque.iterators.exe 0 0 77810809 0 44% 3.203
>
> I'm guessing it's one of two things: either we have a Windows
> specific bug in our code in exec, or there is a bug in both
> versions of MSVC that causes this.
>
> Andrew or Farid, do you guys have any insight?
The difference between asserts on UNIX and MSVC is because of the
following lines of the test
23.deque.iterators.cpp, line 259:
-----------------------
#ifndef _RWSTD_NO_REPLACEABLE_NEW_DELETE
// replacement operator new is expensive, avoid long runtimes
unsigned rw_opt_nloops = 6; // for --nloops
#else
unsigned rw_opt_nloops = 10; // for --nloops
#endif
-----------------------
The invalid percents value (44%) have been calculated as (driver.cpp,
line 1059):
long (77810809 * 100) / 77810809 == 3486113604 / 77810809 = 44.
Farid.
|