harness: test compiler-rt builtins
[barrelfish] / tools / harness / tests / compiler-rt_builtins.py
1 ##########################################################################
2 # Copyright (c) 2009, ETH Zurich.
3 # All rights reserved.
4 #
5 # This file is distributed under the terms in the attached LICENSE file.
6 # If you do not find this file, copies can be found by writing to:
7 # ETH Zurich D-INFK, Haldeneggsteig 4, CH-8092 Zurich. Attn: Systems Group.
8 ##########################################################################
9
10 import re
11 import tests
12 from common import TestCommon
13 from results import PassFailResult
14
15 class CompilerRTBuiltinsAbstract(TestCommon):
16
17     def get_finish_string(self):
18         return "usleeptest_done"
19
20     def process_data(self, testdir, rawiter):
21         # the test passed if no error occurred
22         passed = True
23         for line in rawiter:
24             if "error in" in line:
25                 passed = False
26         return PassFailResult(passed)
27
28 @tests.add_test
29 class CompilerRTBuiltins1(CompilerRTBuiltinsAbstract):
30     '''runs compiler-rt1 builins unit tests'''
31     name = "compiler-rt1"
32
33     def get_modules(self, build, machine):
34         modules = super(CompilerRTBuiltins1, self).get_modules(build, machine)
35         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/absvdi2_test")
36         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/absvsi2_test")
37         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/absvti2_test")
38         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/adddf3vfp_test")
39         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/addsf3vfp_test")
40         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/addtf3_test")
41         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/addvdi3_test")
42         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/addvsi3_test")
43         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/addvti3_test")
44         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/ashldi3_test")
45         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/ashlti3_test")
46         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/ashrdi3_test")
47         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/ashrti3_test")
48         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/bswapdi2_test")
49         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/bswapsi2_test")
50 #        modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/clear_cache_test")
51         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/clzdi2_test")
52         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/clzsi2_test")
53         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/clzti2_test")
54         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/cmpdi2_test")
55         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/cmpti2_test")
56         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/comparedf2_test")
57         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/comparesf2_test")
58         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/ctzdi2_test")
59         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/ctzsi2_test")
60         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/ctzti2_test")
61         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/divdc3_test")
62         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/divdf3vfp_test")
63         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/divdi3_test")
64         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/divmodsi4_test")
65         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/divsc3_test")
66         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/divsf3vfp_test")
67         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/divsi3_test")
68 #        modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/divtc3_test")
69         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/divtf3_test")
70         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/divti3_test")
71         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/divxc3_test")
72 #        modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/enable_execute_stack_test")
73         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/eqdf2vfp_test")
74         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/eqsf2vfp_test")
75         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/eqtf2_test")
76         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/extebdsfdf2vfp_test")
77         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/extenddftf2_test")
78 #        modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/extendhfsf2_test")
79         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/extendsftf2_test")
80         modules.add_module("usleeptest", [ "5" ])
81         return modules
82
83 @tests.add_test
84 class CompilerRTBuiltins2(CompilerRTBuiltinsAbstract):
85     '''runs compiler-rt2 builins unit tests'''
86     name = "compiler-rt2"
87
88     def get_modules(self, build, machine):
89         modules = super(CompilerRTBuiltins2, self).get_modules(build, machine)
90         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/ffsdi2_test")
91         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/ffsti2_test")
92         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixdfdi_test")
93         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixdfsivfp_test")
94         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixdfti_test")
95         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixsfdi_test")
96         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixsfsivfp_test")
97         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixsfti_test")
98         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixtfdi_test")
99         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixtfsi_test")
100         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixtfti_test")
101         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixunsdfdi_test")
102         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixunsdfsi_test")
103         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixunsdfsivfp_test")
104         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixunsdfti_test")
105         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixunssfdi_test")
106         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixunssfsi_test")
107         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixunssfsivfp_test")
108         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixunssfti_test")
109         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixunstfdi_test")
110         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixunstfsi_test")
111         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixunstfti_test")
112         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixunsxfdi_test")
113         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixunsxfsi_test")
114         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixunsxfti_test")
115         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixxfdi_test")
116         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/fixxfti_test")
117         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatdidf_test")
118         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatdisf_test")
119         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatditf_test")
120         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatdixf_test")
121         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatsidfvfp_test")
122         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatsisfvfp_test")
123         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatsitf_test")
124         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floattidf_test")
125         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floattisf_test")
126         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floattixf_test")
127         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatundidf_test")
128         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatundisf_test")
129         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatunditf_test")
130         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatundixf_test")
131         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatunsitf_test")
132         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatunssidfvfp_test")
133         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatunssisfvfp_test")
134         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatuntidf_test")
135         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatuntisf_test")
136         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/floatuntixf_test")
137 #        modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/gcc_personality_test")
138         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/gedf2vfp_test")
139         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/gesf2vfp_test")
140         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/getf2_test")
141         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/gtdf2vfp_test")
142         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/gtsf2vfp_test")
143         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/gttf2_test")
144         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/ledf2vfp_test")
145         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/lesf2vfp_test")
146         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/letf2_test")
147         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/lshrdi3_test")
148         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/lshrti3_test")
149         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/ltdf2vfp_test")
150         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/ltsf2vfp_test")
151         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/lttf2_test")
152         modules.add_module("usleeptest", [ "5" ])
153         return modules
154
155 @tests.add_test
156 class CompilerRTBuiltins3(CompilerRTBuiltinsAbstract):
157     '''runs compiler-rt3 builins unit tests'''
158     name = "compiler-rt3"
159
160     def get_modules(self, build, machine):
161         modules = super(CompilerRTBuiltins3, self).get_modules(build, machine)
162         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/moddi3_test")
163         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/modsi3_test")
164         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/modti3_test")
165         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/muldc3_test")
166         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/muldf3vfp_test")
167         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/muldi3_test")
168         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/mulodi4_test")
169         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/mulosi4_test")
170         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/muloti4_test")
171         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/mulsc3_test")
172         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/mulsf3vfp_test")
173         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/multc3_test")
174         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/multf3_test")
175         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/multi3_test")
176         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/mulvdi3_test")
177         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/mulvsi3_test")
178         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/mulvti3_test")
179         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/mulxc3_test")
180         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/nedf2vfp_test")
181         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/negdf2vfp_test")
182         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/negdi2_test")
183         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/negsf2vfp_test")
184         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/negti2_test")
185         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/negvdi2_test")
186         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/negvsi2_test")
187         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/negvti2_test")
188         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/nesf2vfp_test")
189         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/netf2_test")
190         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/paritydi2_test")
191         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/paritysi2_test")
192         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/parityti2_test")
193         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/popcountdi2_test")
194         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/popcountsi2_test")
195         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/popcountti2_test")
196         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/powidf2_test")
197         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/powisf2_test")
198         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/powitf2_test")
199         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/powixf2_test")
200         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/subdf3vfp_test")
201         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/subsf3vfp_test")
202         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/subtf3_test")
203         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/subvdi3_test")
204         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/subvsi3_test")
205         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/subvti3_test")
206         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/trampoline_setup_test")
207 #        modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/truncdfhf2_test")
208         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/truncdfsf2_test")
209         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/truncdfsf2vfp_test")
210 #        modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/truncsfhf2_test")
211         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/trunctfdf2_test")
212         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/trunctfsf2_test")
213         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/ucmpdi2_test")
214         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/ucmpti2_test")
215         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/udivdi3_test")
216         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/udivmoddi4_test")
217         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/udivmodsi4_test")
218         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/udivmodti4_test")
219         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/udivsi3_test")
220         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/udivti3_test")
221         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/umoddi3_test")
222         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/umodsi3_test")
223         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/umodti3_test")
224         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/unorddf2vfp_test")
225         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/unordsf2vfp_test")
226         modules.add_module("$BUILD/compiler-rt/test/builtins/Unit/unordtf2_test")
227         modules.add_module("usleeptest", [ "5" ])
228         return modules