1 /*
2  * PROJECT:     ReactOS API tests
3  * LICENSE:     MIT (https://spdx.org/licenses/MIT)
4  * PURPOSE:     Test for SEH
5  * COPYRIGHT:   Copyright 2020 Timo Kreuzer <timo.kreuzer@reactos.org>
6  */
7 
8 #include <apitest.h>
9 #include "stdio.h"
10 #include <pseh/pseh2.h>
11 
12 int seh0001();
13 int seh0002();
14 int seh0003();
15 int seh0004();
16 int seh0005();
17 int seh0006();
18 int seh0007();
19 int seh0008();
20 int seh0009();
21 int seh0010();
22 int seh0011();
23 int seh0012();
24 int seh0013();
25 int seh0014();
26 int seh0015();
27 int seh0016();
28 int seh0017();
29 int seh0018();
30 int seh0019();
31 int seh0020();
32 int seh0021();
33 int seh0022();
34 int seh0023();
35 int seh0024();
36 int seh0025();
37 int seh0026();
38 int seh0027();
39 int seh0028();
40 int seh0029();
41 int seh0030();
42 int seh0031();
43 int seh0032();
44 int seh0033();
45 int seh0034();
46 int seh0035();
47 int seh0036();
48 int seh0037();
49 int seh0038();
50 int seh0039();
51 int seh0040();
52 int seh0041();
53 int seh0042();
54 int seh0043();
55 int seh0044();
56 int seh0045();
57 int seh0046();
58 int seh0047();
59 int seh0048();
60 int seh0049();
61 int seh0050();
62 int seh0051();
63 int seh0052();
64 int seh0053();
65 int seh0054();
66 int seh0055();
67 int seh0056();
68 int seh0057();
69 int seh0058();
70 
71 #define run_test(test) \
72     _SEH2_TRY \
73     { \
74         ok_int(test(), 0); \
75     } \
76     _SEH2_EXCEPT(1) \
77     { \
78         ok(0, "Exception while running test " #test "\n"); \
79     } \
80     _SEH2_END
81 
82 START_TEST(ms_seh)
83 {
84     run_test(seh0001);
85     run_test(seh0002);
86     run_test(seh0003);
87     run_test(seh0004);
88     run_test(seh0005);
89     run_test(seh0006);
90     run_test(seh0007);
91     run_test(seh0008);
92 #ifdef _USE_NATIVE_SEH
93     run_test(seh0009);
94 #endif
95     run_test(seh0010);
96     run_test(seh0011);
97     run_test(seh0012);
98 #ifdef _USE_NATIVE_SEH
99     run_test(seh0013);
100 #endif
101     run_test(seh0014);
102     run_test(seh0015);
103     run_test(seh0016);
104     run_test(seh0017);
105     run_test(seh0018);
106     run_test(seh0019);
107     run_test(seh0020);
108     run_test(seh0021);
109 #ifdef _USE_NATIVE_SEH
110     run_test(seh0022);
111 #endif
112     run_test(seh0023);
113     run_test(seh0024);
114     run_test(seh0025);
115 #ifdef _USE_NATIVE_SEH
116     run_test(seh0026);
117 #endif
118     run_test(seh0027);
119     run_test(seh0028);
120 #ifdef _USE_NATIVE_SEH
121     run_test(seh0029);
122 #endif
123     run_test(seh0030);
124     run_test(seh0031);
125     run_test(seh0032);
126     run_test(seh0033);
127 #ifdef _USE_NATIVE_SEH
128     run_test(seh0034);
129     run_test(seh0035);
130     run_test(seh0036);
131 #endif
132     run_test(seh0037);
133     run_test(seh0038);
134     run_test(seh0039);
135     run_test(seh0040);
136     run_test(seh0041);
137     run_test(seh0042);
138     run_test(seh0043);
139     run_test(seh0044);
140     run_test(seh0045);
141     run_test(seh0046);
142     run_test(seh0047);
143     run_test(seh0048);
144     run_test(seh0049);
145     run_test(seh0050);
146     run_test(seh0051);
147     run_test(seh0052);
148     run_test(seh0053);
149     run_test(seh0054);
150 #ifdef _USE_NATIVE_SEH
151     run_test(seh0055);
152 #endif
153     run_test(seh0056);
154     run_test(seh0057);
155     run_test(seh0058);
156 }
157