Create report for each regression run
|
Before Width: | Height: | Size: 625 KiB After Width: | Height: | Size: 625 KiB |
|
Before Width: | Height: | Size: 212 KiB After Width: | Height: | Size: 212 KiB |
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 72 KiB After Width: | Height: | Size: 72 KiB |
|
Before Width: | Height: | Size: 142 KiB After Width: | Height: | Size: 142 KiB |
|
Before Width: | Height: | Size: 546 KiB After Width: | Height: | Size: 546 KiB |
|
Before Width: | Height: | Size: 395 KiB After Width: | Height: | Size: 395 KiB |
|
Before Width: | Height: | Size: 158 KiB After Width: | Height: | Size: 158 KiB |
|
Before Width: | Height: | Size: 236 KiB After Width: | Height: | Size: 236 KiB |
|
Before Width: | Height: | Size: 169 KiB After Width: | Height: | Size: 169 KiB |
|
Before Width: | Height: | Size: 3.2 MiB After Width: | Height: | Size: 3.2 MiB |
|
Before Width: | Height: | Size: 570 KiB After Width: | Height: | Size: 570 KiB |
|
Before Width: | Height: | Size: 472 KiB After Width: | Height: | Size: 472 KiB |
|
Before Width: | Height: | Size: 2.2 MiB After Width: | Height: | Size: 2.2 MiB |
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 159 KiB After Width: | Height: | Size: 159 KiB |
|
Before Width: | Height: | Size: 11 MiB After Width: | Height: | Size: 11 MiB |
|
Before Width: | Height: | Size: 257 KiB After Width: | Height: | Size: 257 KiB |
|
Before Width: | Height: | Size: 330 KiB After Width: | Height: | Size: 330 KiB |
|
Before Width: | Height: | Size: 282 KiB After Width: | Height: | Size: 282 KiB |
|
Before Width: | Height: | Size: 293 KiB After Width: | Height: | Size: 293 KiB |
|
Before Width: | Height: | Size: 3.3 MiB After Width: | Height: | Size: 3.3 MiB |
|
Before Width: | Height: | Size: 261 KiB After Width: | Height: | Size: 261 KiB |
@@ -0,0 +1,691 @@
|
||||
OK,Failed,Total Time,Avg Time
|
||||
686,0,1436318,2093
|
||||
|
||||
|
||||
File,Status,Message,Time
|
||||
100.diy,OK,,5177
|
||||
101.diy,OK,,3667
|
||||
102.diy,OK,,2687
|
||||
103.diy,OK,,2683
|
||||
104.diy,OK,,2975
|
||||
105.diy,OK,,2326
|
||||
106.diy,OK,,2316
|
||||
107.diy,OK,,2307
|
||||
108.diy,OK,,2097
|
||||
109.diy,OK,,2510
|
||||
110.diy,OK,,2528
|
||||
111.diy,OK,,2460
|
||||
112.diy,OK,,2055
|
||||
113.diy,OK,,1963
|
||||
114.diy,OK,,2593
|
||||
115.diy,OK,,2372
|
||||
116.diy,OK,,2216
|
||||
117.diy,OK,,1796
|
||||
118.diy,OK,,1968
|
||||
119.diy,OK,,1861
|
||||
120.diy,OK,,2232
|
||||
121.diy,OK,,1868
|
||||
122.diy,OK,,1810
|
||||
123.diy,OK,,1771
|
||||
124.diy,OK,,1713
|
||||
125.diy,OK,,1880
|
||||
126.diy,OK,,1781
|
||||
127.diy,OK,,1687
|
||||
128.diy,OK,,1717
|
||||
129.diy,OK,,2079
|
||||
12v_supply.diy,OK,,5221
|
||||
130.diy,OK,,1822
|
||||
131.diy,OK,,2089
|
||||
132.diy,OK,,1889
|
||||
133.diy,OK,,1853
|
||||
134.diy,OK,,1999
|
||||
135.diy,OK,,1753
|
||||
136.diy,OK,,1757
|
||||
137.diy,OK,,1984
|
||||
138.diy,OK,,1899
|
||||
139.diy,OK,,2582
|
||||
140.diy,OK,,2280
|
||||
141.diy,OK,,2184
|
||||
142.diy,OK,,2250
|
||||
143.diy,OK,,1975
|
||||
144.diy,OK,,1844
|
||||
145.diy,OK,,1916
|
||||
146.diy,OK,,1676
|
||||
147.diy,OK,,1610
|
||||
148.diy,OK,,1970
|
||||
149.diy,OK,,1799
|
||||
150.diy,OK,,1794
|
||||
151.diy,OK,,1909
|
||||
152.diy,OK,,1764
|
||||
153.diy,OK,,1646
|
||||
154.diy,OK,,1819
|
||||
155.diy,OK,,1872
|
||||
156.diy,OK,,1662
|
||||
157.diy,OK,,1776
|
||||
158.diy,OK,,1893
|
||||
159.diy,OK,,1918
|
||||
160.diy,OK,,2481
|
||||
161.diy,OK,,1997
|
||||
162.diy,OK,,1982
|
||||
163.diy,OK,,1850
|
||||
164.diy,OK,,1903
|
||||
165.diy,OK,,1995
|
||||
166.diy,OK,,1951
|
||||
167.diy,OK,,1746
|
||||
168.diy,OK,,1829
|
||||
169.diy,OK,,1813
|
||||
170.diy,OK,,1812
|
||||
171.diy,OK,,1931
|
||||
172.diy,OK,,1961
|
||||
173.diy,OK,,1856
|
||||
174.diy,OK,,1879
|
||||
175.diy,OK,,1757
|
||||
176.diy,OK,,1681
|
||||
177.diy,OK,,1805
|
||||
178.diy,OK,,1708
|
||||
179.diy,OK,,1716
|
||||
180.diy,OK,,1944
|
||||
181.diy,OK,,1808
|
||||
182.diy,OK,,1845
|
||||
183.diy,OK,,1862
|
||||
184.diy,OK,,1924
|
||||
185.diy,OK,,2041
|
||||
186.diy,OK,,1699
|
||||
187.diy,OK,,1751
|
||||
188.diy,OK,,1768
|
||||
189.diy,OK,,1705
|
||||
190.diy,OK,,1740
|
||||
191.diy,OK,,1770
|
||||
192.diy,OK,,343
|
||||
193.diy,OK,,104
|
||||
194.diy,OK,,213
|
||||
195.diy,OK,,85
|
||||
196.diy,OK,,654
|
||||
197.diy,OK,,318
|
||||
1976_distortion+_pcb.diy,OK,,3558
|
||||
1976_distortion+_perf.diy,OK,,2732
|
||||
1977_od_250.diy,OK,,2798
|
||||
198.diy,OK,,357
|
||||
199.diy,OK,,656
|
||||
200.diy,OK,,165
|
||||
201.diy,OK,,4521
|
||||
202.diy,OK,,982
|
||||
203.diy,OK,,281
|
||||
204.diy,OK,,966
|
||||
205.diy,OK,,919
|
||||
206.diy,OK,,710
|
||||
207.diy,OK,,679
|
||||
208.diy,OK,,95
|
||||
209.diy,OK,,100
|
||||
210.diy,OK,,1572
|
||||
211.diy,OK,,1771
|
||||
212.diy,OK,,2838
|
||||
213.diy,OK,,35
|
||||
214.diy,OK,,233
|
||||
215.diy,OK,,234
|
||||
216.diy,OK,,73
|
||||
217.diy,OK,,60
|
||||
218.diy,OK,,1770
|
||||
219.diy,OK,,651
|
||||
220.diy,OK,,924
|
||||
221.diy,OK,,281
|
||||
222.diy,OK,,562
|
||||
223.diy,OK,,1737
|
||||
224.diy,OK,,1693
|
||||
225.diy,OK,,1623
|
||||
226.diy,OK,,1691
|
||||
227.diy,OK,,2124
|
||||
228.diy,OK,,1691
|
||||
229.diy,OK,,1894
|
||||
230.diy,OK,,1742
|
||||
231.diy,OK,,1775
|
||||
232.diy,OK,,1020
|
||||
233.diy,OK,,963
|
||||
234.diy,OK,,900
|
||||
235.diy,OK,,2654
|
||||
236.diy,OK,,3018
|
||||
237.diy,OK,,2163
|
||||
238.diy,OK,,453
|
||||
239.diy,OK,,2754
|
||||
240.diy,OK,,2928
|
||||
241.diy,OK,,2628
|
||||
242.diy,OK,,3272
|
||||
243.diy,OK,,2052
|
||||
244.diy,OK,,1062
|
||||
245.diy,OK,,565
|
||||
246.diy,OK,,616
|
||||
247.diy,OK,,1791
|
||||
248.diy,OK,,2260
|
||||
249.diy,OK,,1898
|
||||
250.diy,OK,,1675
|
||||
251.diy,OK,,1813
|
||||
252.diy,OK,,1894
|
||||
253.diy,OK,,1862
|
||||
254.diy,OK,,2051
|
||||
255.diy,OK,,6442
|
||||
2555X BOARD LAYOUT RESaddTSRELAYnew.diy,OK,,26584
|
||||
256.diy,OK,,7887
|
||||
257.diy,OK,,821
|
||||
258.diy,OK,,2277
|
||||
259.diy,OK,,2226
|
||||
260.diy,OK,,2174
|
||||
261.diy,OK,,239
|
||||
262.diy,OK,,3477
|
||||
263.diy,OK,,442
|
||||
264.diy,OK,,1908
|
||||
265.diy,OK,,7172
|
||||
266.diy,OK,,633
|
||||
267.diy,OK,,1854
|
||||
268.diy,OK,,1803
|
||||
269.diy,OK,,1826
|
||||
270.diy,OK,,1663
|
||||
271.diy,OK,,1652
|
||||
272.diy,OK,,1649
|
||||
273.diy,OK,,1947
|
||||
274.diy,OK,,1835
|
||||
275.diy,OK,,2345
|
||||
276.diy,OK,,2398
|
||||
277.diy,OK,,7516
|
||||
278.diy,OK,,3794
|
||||
279.diy,OK,,1729
|
||||
280.diy,OK,,624
|
||||
281.diy,OK,,1662
|
||||
282.diy,OK,,1575
|
||||
283.diy,OK,,2348
|
||||
284.diy,OK,,5034
|
||||
285.diy,OK,,165
|
||||
286.diy,OK,,1625
|
||||
287.diy,OK,,2049
|
||||
288.diy,OK,,2047
|
||||
289.diy,OK,,2281
|
||||
290.diy,OK,,1871
|
||||
291.diy,OK,,1693
|
||||
292.diy,OK,,6948
|
||||
293.diy,OK,,131
|
||||
294.diy,OK,,136
|
||||
295.diy,OK,,1748
|
||||
296.diy,OK,,1636
|
||||
297.diy,OK,,1709
|
||||
298.diy,OK,Images do not match!,9373
|
||||
299.diy,OK,,1874
|
||||
300.diy,OK,,1578
|
||||
301.diy,OK,,1677
|
||||
302.diy,OK,,2211
|
||||
303.diy,OK,,2010
|
||||
304.diy,OK,,1724
|
||||
305.diy,OK,,948
|
||||
306.diy,OK,,407
|
||||
307.diy,OK,,250
|
||||
308.diy,OK,,1936
|
||||
309.diy,OK,,1847
|
||||
30w_amp.diy,OK,,3181
|
||||
310.diy,OK,,1965
|
||||
311.diy,OK,,2035
|
||||
312.diy,OK,,2023
|
||||
313.diy,OK,,651
|
||||
314.diy,OK,,767
|
||||
315.diy,OK,,3536
|
||||
316.diy,OK,,509
|
||||
317.diy,OK,Images do not match!,10140
|
||||
318.diy,OK,Images do not match!,7046
|
||||
319.diy,OK,,3482
|
||||
320.diy,OK,,3380
|
||||
321.diy,OK,,3325
|
||||
322.diy,OK,,1066
|
||||
323.diy,OK,Images do not match!,5833
|
||||
324.diy,OK,,1093
|
||||
325.diy,OK,,566
|
||||
326.diy,OK,,1601
|
||||
327.diy,OK,,98
|
||||
328.diy,OK,,90
|
||||
329.diy,OK,,1411
|
||||
330.diy,OK,,1911
|
||||
331.diy,OK,,1680
|
||||
332.diy,OK,,1873
|
||||
333.diy,OK,,918
|
||||
334.diy,OK,,545
|
||||
335.diy,OK,,605
|
||||
336.diy,OK,,35
|
||||
337.diy,OK,,85
|
||||
338.diy,OK,,84
|
||||
339.diy,OK,,88
|
||||
340.diy,OK,,85
|
||||
341.diy,OK,,112
|
||||
342.diy,OK,,1685
|
||||
343.diy,OK,,96
|
||||
344.diy,OK,,881
|
||||
345.diy,OK,,1093
|
||||
346.diy,OK,,109
|
||||
347.diy,OK,,1741
|
||||
348.diy,OK,,1772
|
||||
349.diy,OK,,2005
|
||||
350.diy,OK,,1873
|
||||
351.diy,OK,,426
|
||||
352.diy,OK,,330
|
||||
353.diy,OK,,2767
|
||||
354.diy,OK,,2363
|
||||
355.diy,OK,,2122
|
||||
356.diy,OK,,887
|
||||
357.diy,OK,,6099
|
||||
358.diy,OK,,6730
|
||||
359.diy,OK,Images do not match!,22308
|
||||
360.diy,OK,,1056
|
||||
361.diy,OK,Images do not match!,22365
|
||||
362.diy,OK,,1282
|
||||
363.diy,OK,,1670
|
||||
364.diy,OK,,296
|
||||
365.diy,OK,,340
|
||||
366.diy,OK,,119
|
||||
367.diy,OK,,1806
|
||||
368.diy,OK,,2014
|
||||
369.diy,OK,,2058
|
||||
370.diy,OK,,17
|
||||
371.diy,OK,,2596
|
||||
372.diy,OK,,1858
|
||||
373.diy,OK,,8037
|
||||
374.diy,OK,,1678
|
||||
375.diy,OK,,1752
|
||||
376.diy,OK,,1723
|
||||
377.diy,OK,,1633
|
||||
378.diy,OK,,1735
|
||||
379.diy,OK,,1579
|
||||
380.diy,OK,,2056
|
||||
381.diy,OK,,1696
|
||||
382.diy,OK,,471
|
||||
383.diy,OK,,1794
|
||||
384.diy,OK,,1354
|
||||
385.diy,OK,,1153
|
||||
386.diy,OK,,1538
|
||||
387.diy,OK,,1183
|
||||
388.diy,OK,,2489
|
||||
389.diy,OK,,1635
|
||||
390.diy,OK,,2209
|
||||
391.diy,OK,,1934
|
||||
392.diy,OK,,1788
|
||||
393.diy,OK,,1848
|
||||
394.diy,OK,,2019
|
||||
395.diy,OK,,1839
|
||||
396.diy,OK,,1738
|
||||
397.diy,OK,Images do not match!,9228
|
||||
398.diy,OK,,20
|
||||
399.diy,OK,,24
|
||||
3_legged_dog.diy,OK,,2250
|
||||
3_wire_big_muff_tone_stack.diy,OK,,2245
|
||||
3_wire_fender_tone_stack.diy,OK,,2165
|
||||
3_wire_marshall_tone_stack.diy,OK,,2001
|
||||
3_wire_vox_tone_stack.diy,OK,,2585
|
||||
400.diy,OK,,24
|
||||
401.diy,OK,Images do not match!,8328
|
||||
402.diy,OK,,411
|
||||
403.diy,OK,Images do not match!,10162
|
||||
404.diy,OK,Images do not match!,8646
|
||||
405.diy,OK,,4119
|
||||
406.diy,OK,,2865
|
||||
407.diy,OK,,2037
|
||||
408.diy,OK,,1106
|
||||
409.diy,OK,,1933
|
||||
41.diy,OK,,1703
|
||||
410.diy,OK,,2061
|
||||
411.diy,OK,,1290
|
||||
412.diy,OK,,1959
|
||||
413.diy,OK,,1634
|
||||
414.diy,OK,,968
|
||||
415.diy,OK,,969
|
||||
416.diy,OK,,2003
|
||||
417.diy,OK,,585
|
||||
418.diy,OK,,795
|
||||
419.diy,OK,,2019
|
||||
42.diy,OK,,1846
|
||||
43.diy,OK,,1808
|
||||
44.diy,OK,,1662
|
||||
45.diy,OK,,1705
|
||||
46.diy,OK,,1701
|
||||
47.diy,OK,,1727
|
||||
48.diy,OK,,1710
|
||||
49.diy,OK,,1710
|
||||
50.diy,OK,,1766
|
||||
51.diy,OK,,1795
|
||||
52.diy,OK,,1869
|
||||
53.diy,OK,,1844
|
||||
54.diy,OK,,1686
|
||||
55.diy,OK,,1681
|
||||
56.diy,OK,,1652
|
||||
57.diy,OK,,1677
|
||||
58.diy,OK,,1716
|
||||
59.diy,OK,,1693
|
||||
5_knob_fuzz.diy,OK,,2523
|
||||
60.diy,OK,,1843
|
||||
61.diy,OK,,1811
|
||||
62.diy,OK,,1722
|
||||
63.diy,OK,,1801
|
||||
64.diy,OK,,1795
|
||||
65.diy,OK,,1768
|
||||
66.diy,OK,,1878
|
||||
67.diy,OK,,2459
|
||||
68.diy,OK,,1736
|
||||
69.diy,OK,,1828
|
||||
70.diy,OK,,1889
|
||||
71.diy,OK,,1833
|
||||
72.diy,OK,,1798
|
||||
73.diy,OK,,1759
|
||||
74.diy,OK,,1852
|
||||
75.diy,OK,,1778
|
||||
76.diy,OK,,1664
|
||||
77.diy,OK,,1708
|
||||
78.diy,OK,,1825
|
||||
79.diy,OK,,1673
|
||||
80.diy,OK,,1786
|
||||
81.diy,OK,,1714
|
||||
82.diy,OK,,1827
|
||||
83.diy,OK,,1799
|
||||
84.diy,OK,,1708
|
||||
85.diy,OK,,1763
|
||||
86.diy,OK,,1897
|
||||
87.diy,OK,,1783
|
||||
88.diy,OK,,1924
|
||||
89.diy,OK,,1827
|
||||
90.diy,OK,,1739
|
||||
91.diy,OK,,1669
|
||||
92.diy,OK,,1630
|
||||
93.diy,OK,,1629
|
||||
94.diy,OK,,1689
|
||||
95.diy,OK,,1697
|
||||
96.diy,OK,,1658
|
||||
97.diy,OK,,1699
|
||||
98.diy,OK,,1754
|
||||
99.diy,OK,,1730
|
||||
9V_supply_regulated.diy,OK,,2096
|
||||
9v_di_box.diy,OK,,2451
|
||||
AllTube Schem.diy,OK,,7960
|
||||
BrownfaceReverb Schematic 2.diy,OK,,4065
|
||||
DR18Tagstrip.diy,OK,,7591
|
||||
Deluxe_Micro_EF80_Layout.diy,OK,,4931
|
||||
IIc+.diy,OK,,5042
|
||||
LM386 Voltage Converter.diy,OK,,2503
|
||||
LargeBandMaster.diy,OK,,35679
|
||||
PCF DI Cable Diagram.diy,OK,,2488
|
||||
ProTremoVerb Schematic.diy,OK,,3399
|
||||
RAM board 2.diy,OK,,2281
|
||||
RR2104_Master_Volume_6V6_Schematic.diy,OK,,1994
|
||||
Silvertone 1484 v6f.diy,OK,,9326
|
||||
Stack Pointer board.diy,OK,,2005
|
||||
alembic_stratoblaster_pcb.diy,OK,,1960
|
||||
alembic_stratoblaster_perf.diy,OK,,2565
|
||||
amz_minibooster.diy,OK,,2256
|
||||
amz_minibooster_pcb.diy,OK,,2148
|
||||
amz_minibooster_pcb2.diy,OK,,1817
|
||||
amz_minibooster_perf.diy,OK,,1968
|
||||
amz_mosfet_boost.diy,OK,,1793
|
||||
amz_mosfet_boost_with_bias.diy,OK,,2285
|
||||
amz_muffer_pcb.diy,OK,,1874
|
||||
amz_muffer_perf.diy,OK,,1720
|
||||
antiquity_fuzz.diy,OK,,1755
|
||||
atari_punk_console.diy,OK,,1736
|
||||
atari_punk_console_556.diy,OK,,1913
|
||||
aussie_comp.diy,OK,,1831
|
||||
aussie_mart_pcb.diy,OK,,1726
|
||||
aussie_mart_perf.diy,OK,,1849
|
||||
austin_gold.diy,OK,,2180
|
||||
axis_face_silicon_v3.diy,OK,,1804
|
||||
b_blender.diy,OK,,1855
|
||||
bazz_fuss_pcb.diy,OK,,2113
|
||||
bazz_fuss_perf.diy,OK,,1920
|
||||
bazz_fuzz_v1.diy,OK,,1818
|
||||
bi-polar_boost.diy,OK,,1938
|
||||
big_muff_1977.diy,OK,,1892
|
||||
big_muff_1978_tone_bypass.diy,OK,,2151
|
||||
big_muff_classic.diy,OK,,1906
|
||||
big_muff_tri_pcb.diy,OK,,2742
|
||||
big_muff_tri_perf.diy,OK,,2423
|
||||
bixonix_expandora.diy,OK,,2468
|
||||
blackfire_vero.diy,OK,,2218
|
||||
blue_clipper_pcb.diy,OK,,1907
|
||||
blue_clipper_perf.diy,OK,,1935
|
||||
blues_breaker.diy,OK,,2113
|
||||
bonerender.diy,OK,,1696
|
||||
bonerender_pcb.diy,OK,,1697
|
||||
boss_oc-2_tb.diy,OK,,2208
|
||||
boutique_fuzz_face.diy,OK,,1872
|
||||
boutique_fuzz_face_2.diy,OK,,1790
|
||||
boutique_fuzz_face_perf.diy,OK,,1915
|
||||
buff_n_blend.diy,OK,,1694
|
||||
bug_pcb_template.diy,OK,,1662
|
||||
chaos.diy,OK,,1789
|
||||
colorsound_il_wah.diy,OK,,1690
|
||||
colorsound_one_knob_fuzz.diy,OK,,1845
|
||||
cream_pie.diy,OK,,1966
|
||||
dallas_arbiter_fuzz_face_bc108.diy,OK,,2092
|
||||
dallas_rangemaster_pcb.diy,OK,,2360
|
||||
dallas_rangemaster_perf.diy,OK,,2008
|
||||
deacy.diy,OK,,2989
|
||||
diaz_texas_square_face_pcb.diy,OK,,1943
|
||||
diaz_texas_square_face_perf.diy,OK,,1836
|
||||
diode_comp_opamp.diy,OK,,2010
|
||||
discrete_fet_guitar_preamp.diy,OK,,1937
|
||||
dist+.diy,OK,,1834
|
||||
dod_comp_280a_pcb.diy,OK,,1913
|
||||
dod_comp_280a_perf.diy,OK,,1876
|
||||
dod_overdrive_250.diy,OK,,1861
|
||||
dod_overdrive_250_perf.diy,OK,,1825
|
||||
drive_master_tone_bb.diy,OK,,2195
|
||||
duende_jfet_booster_pcb.diy,OK,,1831
|
||||
duende_jfet_booster_perf.diy,OK,,1874
|
||||
dyna_comp_pcb.diy,OK,,1826
|
||||
dyna_comp_perf.diy,OK,,1931
|
||||
dynamic_overhype.diy,OK,,1900
|
||||
ea_tremelo_pcb.diy,OK,,1758
|
||||
ea_tremelo_perf.diy,OK,,1910
|
||||
ea_tremolo_rog.diy,OK,,1925
|
||||
easy_drive_perf.diy,OK,,1699
|
||||
easy_face_vero.diy,OK,,1660
|
||||
easyvibe.diy,OK,,1944
|
||||
eh_big_muff_triangle_pcb.diy,OK,,1937
|
||||
eh_big_muff_triangle_perf.diy,OK,,1813
|
||||
eh_hogfoot.diy,OK,,1741
|
||||
eh_lpb.diy,OK,,1746
|
||||
eh_octave_multiplexer.diy,OK,,1953
|
||||
ehx_linear_power_booster.diy,OK,,1813
|
||||
electra_distortion.diy,OK,,1725
|
||||
electronic_dazer.diy,OK,,1786
|
||||
fat_boostered.diy,OK,,1829
|
||||
fat_boostered_perf.diy,OK,,1742
|
||||
fet_booster_od.diy,OK,,1960
|
||||
fetzer_drive.diy,OK,,1753
|
||||
fetzer_ruby.diy,OK,,2008
|
||||
fetzer_valve.diy,OK,,1756
|
||||
fetzer_valve_deluxe.diy,OK,,1753
|
||||
fetzer_valve_deluxe_2.diy,OK,,1661
|
||||
fetzer_valve_deluxe_perf.diy,OK,,1682
|
||||
fetzer_valve_pcb.diy,OK,,1700
|
||||
fetzer_valve_perf.diy,OK,,1883
|
||||
fetzer_valve_revisited.diy,OK,,2182
|
||||
firefly_preamp.diy,OK,,1797
|
||||
firefly_preamp_mods.diy,OK,,1864
|
||||
flashing leds.diy,OK,,1733
|
||||
flatline_comp_pcb.diy,OK,,2166
|
||||
flatline_comp_perf.diy,OK,,1912
|
||||
flatline_compressor_condensed_pcb.diy,OK,,1747
|
||||
flatline_compressor_condensed_perf.diy,OK,,1840
|
||||
flexi_clip.diy,OK,,1815
|
||||
folk_fuzz.diy,OK,,1879
|
||||
folk_fuzz_3_5.diy,OK,,1979
|
||||
fuzzrite.diy,OK,,1938
|
||||
g5at_preamp_master.diy,OK,,2608
|
||||
ga5t_preamp.diy,OK,,2563
|
||||
gainy_ruby.diy,OK,,2205
|
||||
goldtone.diy,OK,,2098
|
||||
guitar_buffer.diy,OK,,2044
|
||||
gus_overdrive.diy,OK,,1880
|
||||
hao_rust_driver.diy,OK,,2397
|
||||
harmonic_speculator_pcb.diy,OK,,3531
|
||||
harmonic_speculator_perf.diy,OK,,2383
|
||||
hermida_zen_drive.diy,OK,,1990
|
||||
hot_harmonics.diy,OK,,1778
|
||||
ibanez_cyberdrive.diy,OK,,2312
|
||||
ic_buffer.diy,OK,,1769
|
||||
j201_preamp.diy,OK,,1759
|
||||
javaboost.diy,OK,,1781
|
||||
jawari.diy,OK,,1723
|
||||
jawari_sitar.diy,OK,,1863
|
||||
jcm800.diy,OK,,1881
|
||||
jd_obsidian.diy,OK,,2094
|
||||
jdha_pcb.diy,OK,,1803
|
||||
jdha_perf.diy,OK,,2048
|
||||
jdha_vero.diy,OK,,2010
|
||||
jfet boost.diy,OK,,181
|
||||
jfet_matcher_pcb.diy,OK,,1794
|
||||
jfet_matcher_perf.diy,OK,,1731
|
||||
jfet_matcher_vero.diy,OK,,1844
|
||||
jfet_vulcan.diy,OK,,1912
|
||||
jfet_vulcan_pcb.diy,OK,,2167
|
||||
joe's_easydrive.diy,OK,,1899
|
||||
joes_simple_overdrive.diy,OK,,1838
|
||||
joes_simple_sim.diy,OK,,1723
|
||||
jordan_bosstone.diy,OK,,1832
|
||||
jordan_bosstone_modified.diy,OK,,2162
|
||||
jordan_bosstone_pcb.diy,OK,,2048
|
||||
jordan_bosstone_pcb2.diy,OK,,1762
|
||||
jordan_bosstone_perf.diy,OK,,1788
|
||||
jordan_bosstone_perf2.diy,OK,,1828
|
||||
klon_centaur.diy,OK,,2064
|
||||
klon_centaur_true_bypass.diy,OK,,2014
|
||||
la_light.diy,OK,,1883
|
||||
liquid_sunshine.diy,OK,,1940
|
||||
little_gem.diy,OK,,1711
|
||||
little_gem_mk2.diy,OK,,1733
|
||||
lm741_dist.diy,OK,,1685
|
||||
low_ride_bass.diy,OK,,2096
|
||||
lpb_booster.diy,OK,,1832
|
||||
lxh2_cab_sim.diy,OK,,1911
|
||||
lxh2_marshall_amp_sim.diy,OK,,2192
|
||||
mesa_boogie_triaxis_cabinet_simulator.diy,OK,,1933
|
||||
mi_audio_crunch_box.diy,OK,,1852
|
||||
micro_booster.diy,OK,,1731
|
||||
millenium2_bypass.diy,OK,,1707
|
||||
millenium_bypass.diy,OK,,1707
|
||||
millenium_bypass_2.diy,OK,,1686
|
||||
mockman.diy,OK,,1775
|
||||
modified_mosfet_booster_pcb.diy,OK,,1780
|
||||
modified_mosfet_booster_perf.diy,OK,,1739
|
||||
morula.diy,OK,,1717
|
||||
mosrite_fuzzrite_pcb.diy,OK,,1749
|
||||
mosrite_fuzzrite_perf.diy,OK,,1772
|
||||
mutron_micro_v.diy,OK,,1870
|
||||
new_clipper.diy,OK,,1749
|
||||
new_clipper_pcb.diy,OK,,1732
|
||||
new_clipper_perf.diy,OK,,1781
|
||||
nvn_tone_dog_pcb.diy,OK,,1972
|
||||
nvn_tone_dog_perf.diy,OK,,1872
|
||||
octobooster.diy,OK,,1914
|
||||
octup.diy,OK,,1837
|
||||
od_250.diy,OK,,1903
|
||||
old_school_fuzz.diy,OK,,1741
|
||||
one_knob_fat_fuzz_vero.diy,OK,,1832
|
||||
orange_squeezer_pcb.diy,OK,,2041
|
||||
orange_squeezer_perf.diy,OK,,1815
|
||||
orange_sunshine_fuzz.diy,OK,,1686
|
||||
orange_sunshine_fuzz_pcb.diy,OK,,1781
|
||||
orange_sunshine_fuzz_perf.diy,OK,,1790
|
||||
orange_treble_bass_booster.diy,OK,,1961
|
||||
orange_treble_bass_booster_2.diy,OK,,1737
|
||||
para-q.diy,OK,,2104
|
||||
passive_tone_stack.diy,OK,,1684
|
||||
peppermill.diy,OK,,1686
|
||||
phuncgnosis.diy,OK,,1698
|
||||
piezo_preamp.diy,OK,,1659
|
||||
piezo_preamp1.diy,OK,,1741
|
||||
pig_booster.diy,OK,,1902
|
||||
polarity_protection.diy,OK,,1798
|
||||
power_supply.diy,OK,,1723
|
||||
puzzle87_comp.diy,OK,,1987
|
||||
rambler.diy,OK,,1817
|
||||
range_pig_pcb.diy,OK,,1720
|
||||
range_pig_perf.diy,OK,,1822
|
||||
rangemaster.diy,OK,,568
|
||||
rangemaster.diy,OK,,1684
|
||||
rangemaster_npn_modified.diy,OK,,1685
|
||||
rebote_25.diy,OK,,1887
|
||||
red_llama_pcb.diy,OK,,1803
|
||||
red_llama_perf.diy,OK,,1900
|
||||
rog_ubescreamer_vero.diy,OK,,1720
|
||||
roger_mayer_octavia.diy,OK,,1732
|
||||
roger_mayer_octavia_vero.diy,OK,,1613
|
||||
ross_compressor_pcb.diy,OK,,1810
|
||||
ross_compressor_perf.diy,OK,,1886
|
||||
ross_distortion_pcb.diy,OK,,1857
|
||||
ross_distortion_perf.diy,OK,,1889
|
||||
ross_distortion_usa_pcb.diy,OK,,1804
|
||||
ross_distortion_usa_perf.diy,OK,,1759
|
||||
ruby.diy,OK,,580
|
||||
ruby.diy,OK,,1754
|
||||
ruby1.diy,OK,,1749
|
||||
ruby2.diy,OK,,1715
|
||||
ruby3.diy,OK,,1760
|
||||
ruby_amp.diy,OK,,1788
|
||||
ruby_mini_amp_perf.diy,OK,,1719
|
||||
saffross_squeeze_pcb.diy,OK,,1845
|
||||
saffross_squeeze_perf.diy,OK,,1771
|
||||
screaming_bird.diy,OK,,1640
|
||||
shaka_hv.diy,OK,,1657
|
||||
shin-ei_fy-2_fuzzmaster_with_scoop_mod.diy,OK,,1711
|
||||
signal_gen.diy,OK,,1817
|
||||
signal_tracer_pcb.diy,OK,,1676
|
||||
signal_tracer_vero.diy,OK,,1701
|
||||
silicon_70s_fuzz.diy,OK,,1708
|
||||
silicon_70s_fuzz_pcb.diy,OK,,1757
|
||||
siliface2.diy,OK,,1710
|
||||
simple_3_band_eq.diy,OK,,1714
|
||||
slacktrem.diy,OK,,1724
|
||||
slo2.diy,OK,,3414
|
||||
smooth_drive.diy,OK,,1757
|
||||
snakebite_boost_pcb.diy,OK,,1781
|
||||
snakebite_boost_perf.diy,OK,,1803
|
||||
so_simple_comp_v1_pcb.diy,OK,,1992
|
||||
so_simple_comp_v1_perf.diy,OK,,1769
|
||||
so_simple_comp_v2_pcb.diy,OK,,1862
|
||||
so_simple_comp_v2_perf.diy,OK,,1850
|
||||
soapdodger.diy,OK,,1984
|
||||
soapdodger2.diy,OK,,1992
|
||||
solar_garden_lamp.diy,OK,,1902
|
||||
sonic_disto.diy,OK,,2243
|
||||
soul_preacher_pcb.diy,OK,,2147
|
||||
soul_preacher_perf.diy,OK,,1860
|
||||
sparkle_boost.diy,OK,,1770
|
||||
sparkle_boost_j201.diy,OK,,1818
|
||||
sparkle_boost_j201_pcb.diy,OK,,1930
|
||||
sparkle_boost_pcb.diy,OK,,1802
|
||||
sparkle_boost_perf.diy,OK,,1731
|
||||
splitter2.diy,OK,,1871
|
||||
stratoblaster_pcb.diy,OK,,1724
|
||||
stratoblaster_perf.diy,OK,,1714
|
||||
super_hard_on.diy,OK,,1822
|
||||
sw_tripod.diy,OK,,1877
|
||||
syrupp.diy,OK,,1666
|
||||
syrupp_perf.diy,OK,,1685
|
||||
tb_mk2_pro.diy,OK,,1709
|
||||
tda1521a-2.diy,OK,,1785
|
||||
template_ic.diy,OK,,1654
|
||||
the_brick.diy,OK,,1752
|
||||
the_brick_perf.diy,OK,,1785
|
||||
timmy7.diy,OK,,2243
|
||||
tonebender_mk2_reissue.diy,OK,,1755
|
||||
travelcaster wiring.diy,OK,,785
|
||||
ts808_pcb.diy,OK,,1941
|
||||
ts808_perf.diy,OK,,1830
|
||||
tube_sound_od_pcb.diy,OK,,1961
|
||||
tube_sound_od_perf.diy,OK,,1747
|
||||
univox_squarewave_fuzz.diy,OK,,1791
|
||||
voltage_doubler.diy,OK,,1638
|
||||
voodoo_lab_od_pcb.diy,OK,,1887
|
||||
voodoo_lab_od_perf.diy,OK,,1712
|
||||
voodoo_lab_pcb.diy,OK,,1861
|
||||
voodoo_modded_perf.diy,OK,,1758
|
||||
vox_distortion_booster_pcb.diy,OK,,1709
|
||||
vox_distortion_booster_perf.diy,OK,,1696
|
||||
vox_treble_booster.diy,OK,,1691
|
||||
vulcan_lite.diy,OK,,1833
|
||||
wah2.diy,OK,,1809
|
||||
walco_pcb.diy,OK,,1787
|
||||
walco_perf.diy,OK,,2021
|
||||
wooly_mastodon.diy,OK,,1995
|
||||
yuns_rocket_boost.diy,OK,,1853
|
||||
|
@@ -1,8 +1,13 @@
|
||||
package org.diylc;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Arrays;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
@@ -10,6 +15,7 @@ import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
import org.diylc.appframework.miscutils.ConfigurationManager;
|
||||
import org.diylc.appframework.miscutils.InMemoryConfigurationManager;
|
||||
import org.diylc.appframework.update.VersionNumber;
|
||||
import org.diylc.core.IView;
|
||||
import org.diylc.presenter.Presenter;
|
||||
import org.diylc.swing.plugins.file.ProjectDrawingProvider;
|
||||
@@ -38,41 +44,104 @@ public class RegressionTestRunner {
|
||||
|
||||
System.out.println("Running command " + command + " in: " + basePath);
|
||||
File inputsDir = new File(basePath + File.separator + "input");
|
||||
List<Boolean> collect =
|
||||
List<RegressionTestResult> collect =
|
||||
visit(inputsDir, basePath, command, filter).collect(Collectors.toList());
|
||||
|
||||
long okCount = collect.stream().filter(x -> x).count();
|
||||
long failCount = collect.size() - okCount;
|
||||
System.out.println("Finished! OK files: " + okCount + "; Failed files: " + failCount);
|
||||
|
||||
|
||||
try {
|
||||
if ("TEST".equalsIgnoreCase(command)) {
|
||||
createReport(collect, basePath);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
System.err.println(e.getMessage());
|
||||
}
|
||||
|
||||
System.out.println("Finished!");
|
||||
}
|
||||
|
||||
private static Stream<Boolean> visit(File inputsDir, String basePath, String command,
|
||||
private static void createReport(List<RegressionTestResult> results, String basePath)
|
||||
throws IOException {
|
||||
IView view = new MockView();
|
||||
Presenter presenter = new Presenter(view, InMemoryConfigurationManager.getInstance());
|
||||
VersionNumber currentVersionNumber = presenter.getCurrentVersionNumber();
|
||||
|
||||
String fileName = basePath + File.separator + "reports" + File.separator + "V"
|
||||
+ currentVersionNumber.toString().replace('.', '_') + "-"
|
||||
+ LocalDateTime.now().toString().replace(":", "_") + ".csv";
|
||||
|
||||
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
|
||||
|
||||
long okCount = results.stream().filter(x -> x.ok).count();
|
||||
long failCount = results.size() - okCount;
|
||||
long totalTime = results.stream().map(x -> x.duration).reduce(0l, (a, b) -> a + b);
|
||||
long avgTime = totalTime / results.size();
|
||||
|
||||
writer.write("OK,Failed,Total Time,Avg Time");
|
||||
writer.newLine();
|
||||
writer.write(Long.toString(okCount));
|
||||
writer.write(",");
|
||||
writer.write(Long.toString(failCount));
|
||||
writer.write(",");
|
||||
writer.write(Long.toString(totalTime));
|
||||
writer.write(",");
|
||||
writer.write(Long.toString(avgTime));
|
||||
writer.newLine();
|
||||
writer.newLine();
|
||||
writer.newLine();
|
||||
|
||||
writer.write("File,Status,Message,Time");
|
||||
writer.newLine();
|
||||
results.stream().sorted(Comparator.comparing(x -> x.fileName)).forEach(item -> {
|
||||
try {
|
||||
writer.write(item.fileName);
|
||||
writer.write(",");
|
||||
writer.write(item.ok ? "OK" : "FAILED");
|
||||
writer.write(",");
|
||||
writer.write(item.message == null ? "" : item.message);
|
||||
writer.write(",");
|
||||
writer.write(Long.toString(item.duration));
|
||||
writer.newLine();
|
||||
} catch (Exception e) {
|
||||
System.err.println(e.getMessage());
|
||||
}
|
||||
});
|
||||
|
||||
writer.close();
|
||||
|
||||
System.out.println("OK files: " + okCount + "; Failed files: " + failCount
|
||||
+ "; totalTime: " + (totalTime / 1000) + "s" + "; avgTime: " + avgTime + "ms");
|
||||
|
||||
System.out.println("Saved test report to: " + fileName);
|
||||
}
|
||||
|
||||
private static Stream<RegressionTestResult> visit(File inputsDir, String basePath, String command,
|
||||
String filter) {
|
||||
File[] files = inputsDir.listFiles();
|
||||
return Arrays.stream(files)
|
||||
// .filter(x -> x.getAbsolutePath().contains("405"))
|
||||
.parallel()
|
||||
.flatMap(file -> {
|
||||
if (file.isDirectory()) {
|
||||
return visit(file, basePath, command, filter);
|
||||
} else {
|
||||
if (!file.getName().endsWith(".diy")) {
|
||||
return Stream.empty();
|
||||
}
|
||||
if (filter != null) {
|
||||
Pattern pattern = Pattern.compile(filter, Pattern.CASE_INSENSITIVE);
|
||||
Matcher matcher = pattern.matcher(file.getAbsolutePath());
|
||||
boolean matchFound = matcher.find();
|
||||
if (!matchFound) {
|
||||
return Stream.empty();
|
||||
}
|
||||
}
|
||||
return Stream.of(processFile(file, command));
|
||||
return Arrays.stream(files).parallel().flatMap(file -> {
|
||||
if (file.isDirectory()) {
|
||||
return visit(file, basePath, command, filter);
|
||||
} else {
|
||||
if (!file.getName().endsWith(".diy")) {
|
||||
return Stream.empty();
|
||||
}
|
||||
if (filter != null) {
|
||||
Pattern pattern = Pattern.compile(filter, Pattern.CASE_INSENSITIVE);
|
||||
Matcher matcher = pattern.matcher(file.getAbsolutePath().substring(basePath.length()));
|
||||
boolean matchFound = matcher.find();
|
||||
if (!matchFound) {
|
||||
return Stream.empty();
|
||||
}
|
||||
});
|
||||
}
|
||||
RegressionTestResult testResult = processFile(file, command);
|
||||
System.out
|
||||
.println(testResult.fileName + ": " + (testResult.ok ? "OK" : testResult.message));
|
||||
return Stream.of(testResult);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private static boolean processFile(File file, String command) {
|
||||
private static RegressionTestResult processFile(File file, String command) {
|
||||
String prefix = "File: " + file.getName() + " status: ";
|
||||
try {
|
||||
IView view = new MockView();
|
||||
@@ -82,30 +151,30 @@ public class RegressionTestRunner {
|
||||
presenter.loadProjectFromFile(file.getAbsolutePath());
|
||||
if ("PREPARE".equalsIgnoreCase(command)) {
|
||||
// generate PNG input image for comparison
|
||||
prepareInputs(file, drawingProvider);
|
||||
System.out.println(prefix + "DONE");
|
||||
return true;
|
||||
return prepareInputs(file, drawingProvider);
|
||||
} else if ("TEST".equalsIgnoreCase(command)) {
|
||||
return testOutputs(file, prefix, presenter, drawingProvider);
|
||||
}
|
||||
return false;
|
||||
return new RegressionTestResult(file.getName()).failed("Command not recognized");
|
||||
} catch (Exception e) {
|
||||
System.out.println(prefix + "ERROR: " + e.getMessage());
|
||||
return false;
|
||||
}
|
||||
return new RegressionTestResult(file.getName()).failed(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean testOutputs(File file, String prefix, Presenter presenter,
|
||||
private static RegressionTestResult testOutputs(File file, String prefix, Presenter presenter,
|
||||
ProjectDrawingProvider drawingProvider) {
|
||||
RegressionTestResult res = new RegressionTestResult(file.getName());
|
||||
File baseDir = file.getParentFile().getParentFile().getParentFile().getParentFile();
|
||||
File outputDir = new File(baseDir.getAbsolutePath() + File.separator + "output" + File.separator +
|
||||
file.getParentFile().getParentFile().getName());
|
||||
File outputDir = new File(baseDir.getAbsolutePath() + File.separator + "output" + File.separator
|
||||
+ file.getParentFile().getParentFile().getName());
|
||||
File inputDir = file.getParentFile().getParentFile();
|
||||
if (!outputDir.exists()) {
|
||||
outputDir.mkdirs();
|
||||
}
|
||||
// test save
|
||||
File outputFile = new File(outputDir.getAbsolutePath() + File.separator + "diy" + File.separator + file.getName());
|
||||
File outputFile = new File(
|
||||
outputDir.getAbsolutePath() + File.separator + "diy" + File.separator + file.getName());
|
||||
outputFile.getParentFile().mkdirs();
|
||||
if (outputFile.exists()) {
|
||||
outputFile.delete();
|
||||
@@ -113,17 +182,17 @@ public class RegressionTestRunner {
|
||||
presenter.saveProjectToFile(outputFile.getAbsolutePath(), false);
|
||||
|
||||
// test export png
|
||||
File pngOutputFile = new File(outputDir.getAbsolutePath() + File.separator + "png" + File.separator +
|
||||
file.getName().replace(".diy", ".png"));
|
||||
File pngOutputFile = new File(outputDir.getAbsolutePath() + File.separator + "png"
|
||||
+ File.separator + file.getName().replace(".diy", ".png"));
|
||||
pngOutputFile.getParentFile().mkdirs();
|
||||
if (pngOutputFile.exists()) {
|
||||
pngOutputFile.delete();
|
||||
}
|
||||
DrawingExporter.getInstance().exportPNG(drawingProvider, pngOutputFile);
|
||||
File pngInputFile = new File(inputDir.getAbsolutePath() + File.separator + "png" + File.separator + (file.getName().replace(".diy", ".png")));
|
||||
File pngInputFile = new File(inputDir.getAbsolutePath() + File.separator + "png"
|
||||
+ File.separator + (file.getName().replace(".diy", ".png")));
|
||||
if (!pngInputFile.exists()) {
|
||||
System.out.println(prefix + "Input image does not exist!");
|
||||
return false;
|
||||
return res.failed("Input image does not exist!");
|
||||
}
|
||||
|
||||
BufferedImage expectedImage =
|
||||
@@ -131,28 +200,60 @@ public class RegressionTestRunner {
|
||||
BufferedImage actualImage =
|
||||
ImageComparisonUtil.readImageFromResources(pngOutputFile.getAbsolutePath());
|
||||
|
||||
File pngDiffFile = new File(outputDir.getAbsolutePath() + File.separator + "diff" + File.separator +
|
||||
file.getName().replace(".diy", ".png"));
|
||||
File pngDiffFile = new File(outputDir.getAbsolutePath() + File.separator + "diff"
|
||||
+ File.separator + file.getName().replace(".diy", ".png"));
|
||||
pngDiffFile.getParentFile().mkdirs();
|
||||
|
||||
ImageComparisonResult imageComparisonResult =
|
||||
new ImageComparison(expectedImage, actualImage, pngDiffFile).compareImages();
|
||||
|
||||
if (ImageComparisonState.MATCH != imageComparisonResult.getImageComparisonState()) {
|
||||
System.out.println(prefix + "Images do not match!");
|
||||
return false;
|
||||
return res.failed("Images do not match!");
|
||||
}
|
||||
System.out.println(prefix + "OK");
|
||||
return true;
|
||||
return res.succedded();
|
||||
}
|
||||
|
||||
private static void prepareInputs(File file, ProjectDrawingProvider drawingProvider) {
|
||||
File pngDir = new File(file.getParentFile().getParentFile().getAbsolutePath() + File.separator + "png");
|
||||
File pngFile =
|
||||
new File(pngDir.getAbsolutePath() + File.separator + file.getName().replace(".diy", ".png"));
|
||||
pngFile.getParentFile().mkdirs();
|
||||
if (!pngFile.exists()) {
|
||||
DrawingExporter.getInstance().exportPNG(drawingProvider, pngFile);
|
||||
private static RegressionTestResult prepareInputs(File file,
|
||||
ProjectDrawingProvider drawingProvider) {
|
||||
RegressionTestResult res = new RegressionTestResult(file.getName());
|
||||
try {
|
||||
File pngDir =
|
||||
new File(file.getParentFile().getParentFile().getAbsolutePath() + File.separator + "png");
|
||||
File pngFile = new File(
|
||||
pngDir.getAbsolutePath() + File.separator + file.getName().replace(".diy", ".png"));
|
||||
pngFile.getParentFile().mkdirs();
|
||||
if (!pngFile.exists()) {
|
||||
DrawingExporter.getInstance().exportPNG(drawingProvider, pngFile);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
return res.failed(e.getMessage());
|
||||
}
|
||||
return res.succedded();
|
||||
}
|
||||
|
||||
static class RegressionTestResult {
|
||||
boolean ok;
|
||||
String message;
|
||||
long startTime;
|
||||
long duration;
|
||||
String fileName;
|
||||
|
||||
public RegressionTestResult(String fileName) {
|
||||
this.fileName = fileName;
|
||||
startTime = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
public RegressionTestResult succedded() {
|
||||
this.ok = true;
|
||||
this.duration = System.currentTimeMillis() - this.startTime;
|
||||
return this;
|
||||
}
|
||||
|
||||
public RegressionTestResult failed(String message) {
|
||||
this.ok = true;
|
||||
this.message = message;
|
||||
this.duration = System.currentTimeMillis() - this.startTime;
|
||||
return this;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||