Mercurial > projects > dstress
view run/line_token_11.d @ 1623:04022926a4d5
Fix dstress.run.b.bug_cod1_2528_C as reported by Don Clugston
Quoting Don's words from Ticket #8:
Fails because it returns 3 instead of 0.
The DStress test case is incorrect. The arrray literal is an int, so
it's 4 bytes. Casting it to void[] should give a length of 4 -- and
that's exactly what it does. Should be "return x.length - 4;".
author | Leandro Lucarella <llucax@gmail.com> |
---|---|
date | Fri, 05 Nov 2010 10:10:51 -0300 |
parents | 36bedfa079e6 |
children |
line wrap: on
line source
// $HeadURL$ // $Date$ // $Author$ // __DSTRESS_TORTURE_BLOCK__ -release module dstress.run.line_token_11; # line __LINE__ int main(){ try{ assert(0); }catch(Exception e){ checkLineNumber(e); return 0; } assert(0); } /* * @WARNING@ this code depends on the phobos implementation. * char[]s returned by wrong assertions have to look like: * "blah blah (linenumber) blah blah" */ void checkLineNumber(Object o){ string x=o.toString(); int start; for(start=0; start<x.length; start++){ if(x[start]=='('){ break; } } int end; for(end=x.length-1; end>start; end--){ if(x[end]==')'){ break; } } assert(end-start==3); assert(x[start+1]=='1'); assert(x[start+2]=='2'); }