Mercurial > projects > ldc
annotate tests/findregressions.d @ 650:aa6a0b7968f7
Added test case for bug #100
Removed dubious check for not emitting static private global in other modules without access. This should be handled properly somewhere else, it's causing unresolved global errors for stuff that should work (in MiniD)
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Sun, 05 Oct 2008 17:28:15 +0200 |
parents | 648409a7fb0c |
children |
rev | line source |
---|---|
186
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
1 // Based on DSTRESS code by Thomas Kühne |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
2 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
3 module findregressions; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
4 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
5 private import std.string; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
6 private import std.conv; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
7 private import std.stdio; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
8 private import std.stream; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
9 private import std.file; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
10 private import std.c.stdlib; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
11 private import std.date; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
12 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
13 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
14 enum Result{ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
15 UNTESTED = 0, |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
16 PASS = 1 << 2, |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
17 XFAIL = 2 << 2, |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
18 XPASS = 3 << 2, |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
19 FAIL = 4 << 2, |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
20 ERROR = 5 << 2, |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
21 BASE_MASK = 7 << 2, |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
22 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
23 EXT_MASK = 3, |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
24 BAD_MSG = 1, |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
25 BAD_GDB = 2, |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
26 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
27 MAX = BAD_GDB + BASE_MASK |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
28 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
29 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
30 char[] toString(Result r){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
31 switch(r & Result.BASE_MASK){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
32 case Result.PASS: return "PASS"; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
33 case Result.XPASS: return "XPASS"; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
34 case Result.FAIL: return "FAIL"; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
35 case Result.XFAIL: return "XFAIL"; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
36 case Result.ERROR: return "ERROR"; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
37 case Result.UNTESTED: return "UNTESTED"; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
38 default: |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
39 break; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
40 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
41 throw new Exception(format("unhandled Result value %s", cast(int)r)); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
42 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
43 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
44 char[] dateString(){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
45 static char[] date; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
46 if(date is null){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
47 auto time = getUTCtime(); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
48 auto year = YearFromTime(time); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
49 auto month = MonthFromTime(time); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
50 auto day = DateFromTime(time); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
51 date = format("%d-%02d-%02d", year, month+1, day); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
52 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
53 return date; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
54 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
55 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
56 char[][] unique(char[][] a){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
57 char[][] b = a.sort; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
58 char[][] back; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
59 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
60 back ~= b[0]; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
61 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
62 size_t ii=0; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
63 for(size_t i=0; i<b.length; i++){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
64 if(back[ii]!=b[i]){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
65 back~=b[i]; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
66 ii++; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
67 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
68 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
69 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
70 return back; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
71 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
72 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
73 private{ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
74 version(Windows){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
75 import std.c.windows.windows; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
76 extern(Windows) BOOL GetFileTime(HANDLE hFile, LPFILETIME lpCreationTime, LPFILETIME lpLastAccessTime, LPFILETIME lpLastWriteTime); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
77 }else version(linux){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
78 import std.c.linux.linux; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
79 version = Unix; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
80 }else version(Unix){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
81 import std.c.unix.unix; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
82 }else{ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
83 static assert(0); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
84 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
85 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
86 alias ulong FStime; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
87 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
88 FStime getFStime(char[] fileName){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
89 version(Windows){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
90 HANDLE h; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
91 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
92 if (useWfuncs){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
93 wchar* namez = std.utf.toUTF16z(fileName); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
94 h = CreateFileW(namez,GENERIC_WRITE,0,null,OPEN_ALWAYS, |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
95 FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN,cast(HANDLE)null); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
96 }else{ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
97 char* namez = toMBSz(fileName); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
98 h = CreateFileA(namez,GENERIC_WRITE,0,null,OPEN_ALWAYS, |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
99 FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN,cast(HANDLE)null); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
100 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
101 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
102 if (h == INVALID_HANDLE_VALUE) |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
103 goto err; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
104 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
105 FILETIME creationTime; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
106 FILETIME accessTime; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
107 FILETIME writeTime; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
108 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
109 BOOL b = GetFileTime(h, &creationTime, &accessTime, &writeTime); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
110 if(b==1){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
111 long modA = writeTime.dwLowDateTime; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
112 long modB = writeTime.dwHighDateTime; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
113 return modA | (modB << (writeTime.dwHighDateTime.sizeof*8)); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
114 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
115 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
116 err: |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
117 CloseHandle(h); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
118 throw new Exception("failed to query file modification : "~fileName); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
119 }else version(Unix){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
120 char* namez = toStringz(fileName); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
121 struct_stat statbuf; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
122 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
123 if(stat(namez, &statbuf)){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
124 throw new FileException(fileName, getErrno()); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
125 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
126 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
127 return statbuf.st_mtime; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
128 }else{ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
129 static assert(0); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
130 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
131 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
132 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
133 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
134 char[] cleanFileName(char[] file){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
135 char[] back; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
136 bool hadSep; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
137 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
138 foreach(char c; file){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
139 if(c == '/' || c == '\\'){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
140 if(!hadSep){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
141 back ~= '/'; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
142 hadSep = true; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
143 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
144 }else{ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
145 back ~= c; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
146 hadSep = false; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
147 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
148 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
149 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
150 size_t start = 0; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
151 while(back[start] <= ' ' && start < back.length){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
152 start++; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
153 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
154 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
155 size_t end = back.length-1; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
156 while(back[end] <= ' ' && end >= start){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
157 end--; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
158 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
159 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
160 back = back[start .. end+1]; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
161 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
162 return back; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
163 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
164 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
165 class Test{ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
166 char[] name; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
167 char[] file; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
168 Result r; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
169 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
170 this(char[] file){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
171 this.file = file; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
172 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
173 int start = rfind(file, "/"); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
174 if(start<0){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
175 start = 0; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
176 }else{ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
177 start += 1; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
178 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
179 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
180 int end = rfind(file, "."); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
181 if(end < start){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
182 end = file.length; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
183 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
184 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
185 name = file[start .. end]; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
186 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
187 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
188 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
189 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
190 class Log{ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
191 Test[char[]] tests; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
192 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
193 char[] id; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
194 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
195 this(char[] id){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
196 this.id = id; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
197 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
198 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
199 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
200 void dropBogusResults(FStime recordTime, char[] testRoot){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
201 uint totalCount = tests.length; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
202 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
203 char[][] sourcesTests = tests.keys; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
204 foreach(char[] source; sourcesTests){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
205 if(find(source, "complex/") < 0){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
206 try{ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
207 FStime caseTime = getFStime(testRoot~std.path.sep~source); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
208 if(caseTime > recordTime){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
209 debug(drop) fwritefln(stderr, "dropped: %s", source); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
210 tests.remove(source); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
211 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
212 }catch(Exception e){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
213 debug(drop) fwritefln(stderr, "dropped: %s", source); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
214 tests.remove(source); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
215 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
216 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
217 // asm-filter |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
218 int i = find(source, "asm_p"); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
219 if(i >= 0){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
220 tests.remove(source); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
221 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
222 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
223 tests.rehash; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
224 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
225 writefln("dropped %s outdated tests (%s remaining)", totalCount - tests.length, tests.length); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
226 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
227 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
228 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
229 bool add(char[] line){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
230 const char[] SUB = "Torture-Sub-"; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
231 const char[] TORTURE = "Torture:"; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
232 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
233 line = strip(line); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
234 int id = -1; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
235 Result r = Result.UNTESTED; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
236 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
237 if(line.length > SUB.length && line[0 .. SUB.length] == SUB){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
238 line = line[SUB.length .. $]; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
239 id = 0; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
240 while(line[id] >= '0' && line[id] <= '9'){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
241 id++; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
242 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
243 int start = id; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
244 id = std.conv.toUint(line[0 .. id]); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
245 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
246 while(line[start] != '-'){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
247 start++; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
248 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
249 line = line[start+1 .. $]; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
250 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
251 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
252 char[][] token = split(line); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
253 if(token.length < 2){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
254 return false; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
255 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
256 char[] file = strip(token[1]); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
257 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
258 switch(token[0]){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
259 case "PASS:": |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
260 r = Result.PASS; break; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
261 case "FAIL:": |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
262 r = Result.FAIL; break; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
263 case "XPASS:": |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
264 r = Result.XPASS; break; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
265 case "XFAIL:": |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
266 r = Result.XFAIL; break; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
267 case "ERROR:": |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
268 r = Result.ERROR; break; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
269 default:{ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
270 if(token[0] == TORTURE){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
271 throw new Exception("not yet handled: "~line); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
272 }else if(id > -1){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
273 throw new Exception(format("bug in SUB line: (%s) %s", id, line)); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
274 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
275 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
276 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
277 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
278 if(r != Result.UNTESTED){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
279 if(std.string.find(line, "bad error message") > -1){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
280 r |= Result.BAD_MSG; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
281 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
282 if(std.string.find(line, "bad debugger message") > -1){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
283 r |= Result.BAD_MSG; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
284 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
285 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
286 file = cleanFileName(file); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
287 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
288 if(id >= 0){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
289 // update sub |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
290 id--; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
291 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
292 Test* test = file in tests; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
293 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
294 if(test is null){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
295 Test t = new Test(file); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
296 tests[file] = t; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
297 t.r = r; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
298 }else{ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
299 if(test.r != Result.UNTESTED){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
300 test.r = Result.UNTESTED; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
301 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
302 test.r = r; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
303 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
304 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
305 return true; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
306 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
307 return false; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
308 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
309 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
310 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
311 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
312 int main(char[][] args){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
313 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
314 if(args.length < 2){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
315 fwritefln(stderr, "%s <old log> <new log>", args[0]); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
316 return 1; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
317 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
318 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
319 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
320 Log[] logs; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
321 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
322 foreach(size_t id, char[] file; args[1 .. $]){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
323 writefln("parsing: %s", file); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
324 FStime logTime = getFStime(file); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
325 debug fwritefln(stderr, "sourceTime: %s", logTime); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
326 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
327 Log l= new Log(file); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
328 Stream source = new BufferedFile(file, FileMode.In); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
329 while(!source.eof()){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
330 l.add(source.readLine()); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
331 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
332 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
333 l.dropBogusResults(logTime, "dstress"); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
334 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
335 logs ~= l; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
336 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
337 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
338 Log oldLog = logs[0]; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
339 Log newLog = logs[1]; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
340 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
341 foreach(Test t; newLog.tests.values){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
342 Test* oldT = t.file in oldLog.tests; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
343 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
344 if(oldT !is null){ |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
345 if(oldT.r == t.r) |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
346 continue; |
552
648409a7fb0c
Fix findregressions and makewebstatistics to adhere to our definition of
Christian Kamm <kamm incasoftware de>
parents:
186
diff
changeset
|
347 else if(t.r >= Result.XPASS && oldT.r && oldT.r <= Result.XFAIL){ |
186
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
348 writef("Regression "); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
349 } |
552
648409a7fb0c
Fix findregressions and makewebstatistics to adhere to our definition of
Christian Kamm <kamm incasoftware de>
parents:
186
diff
changeset
|
350 else if(t.r && t.r <= Result.XFAIL && oldT.r >= Result.XPASS){ |
186
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
351 writef("Improvement "); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
352 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
353 else { |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
354 writef("Change "); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
355 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
356 writefln(toString(oldT.r), " -> ", toString(t.r), " : ", t.name, " in ", t.file); |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
357 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
358 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
359 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
360 |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
361 return 0; |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
362 } |
395223f9875e
[svn r202] added start of dstress-based test suite to tests/
ChristianK
parents:
diff
changeset
|
363 |