1 #include <gtest/gtest.h>
2 #include <cstdlib>
3 #include <string>
4 #include "gtest_helper.h"
5
6 class SyncobjWait : public ::testing::Test {
7 public:
8 const char* testBinaryName = "syncobj_wait";
SetUp()9 void SetUp() override { chdir(binary_path); }
TearDown()10 void TearDown() override { chdir("/"); }
11 };
12
TEST_F(SyncobjWait,TestInvalidWaitBadFlags)13 TEST_F(SyncobjWait, TestInvalidWaitBadFlags) {
14 runSubTest(testBinaryName, "invalid-wait-bad-flags");
15 }
16
TEST_F(SyncobjWait,TestInvalidWaitZeroHandles)17 TEST_F(SyncobjWait, TestInvalidWaitZeroHandles) {
18 runSubTest(testBinaryName, "invalid-wait-zero-handles");
19 }
20
TEST_F(SyncobjWait,TestInvalidWaitIllegalHandle)21 TEST_F(SyncobjWait, TestInvalidWaitIllegalHandle) {
22 runSubTest(testBinaryName, "invalid-wait-illegal-handle");
23 }
24
TEST_F(SyncobjWait,TestInvalidResetZeroHandles)25 TEST_F(SyncobjWait, TestInvalidResetZeroHandles) {
26 runSubTest(testBinaryName, "invalid-reset-zero-handles");
27 }
28
TEST_F(SyncobjWait,TestInvalidResetIllegalHandle)29 TEST_F(SyncobjWait, TestInvalidResetIllegalHandle) {
30 runSubTest(testBinaryName, "invalid-reset-illegal-handle");
31 }
32
TEST_F(SyncobjWait,TestInvalidResetOneIllegalHandle)33 TEST_F(SyncobjWait, TestInvalidResetOneIllegalHandle) {
34 runSubTest(testBinaryName, "invalid-reset-one-illegal-handle");
35 }
36
TEST_F(SyncobjWait,TestInvalidResetBadPad)37 TEST_F(SyncobjWait, TestInvalidResetBadPad) {
38 runSubTest(testBinaryName, "invalid-reset-bad-pad");
39 }
40
TEST_F(SyncobjWait,TestInvalidSignalZeroHandles)41 TEST_F(SyncobjWait, TestInvalidSignalZeroHandles) {
42 runSubTest(testBinaryName, "invalid-signal-zero-handles");
43 }
44
TEST_F(SyncobjWait,TestInvalidSignalIllegalHandle)45 TEST_F(SyncobjWait, TestInvalidSignalIllegalHandle) {
46 runSubTest(testBinaryName, "invalid-signal-illegal-handle");
47 }
48
TEST_F(SyncobjWait,TestInvalidSignalOneIllegalHandle)49 TEST_F(SyncobjWait, TestInvalidSignalOneIllegalHandle) {
50 runSubTest(testBinaryName, "invalid-signal-one-illegal-handle");
51 }
52
TEST_F(SyncobjWait,TestInvalidSignalBadPad)53 TEST_F(SyncobjWait, TestInvalidSignalBadPad) {
54 runSubTest(testBinaryName, "invalid-signal-bad-pad");
55 }
56
TEST_F(SyncobjWait,TestInvalidSingleWaitUnsubmitted)57 TEST_F(SyncobjWait, TestInvalidSingleWaitUnsubmitted) {
58 runSubTest(testBinaryName, "invalid-single-wait-unsubmitted");
59 }
60
TEST_F(SyncobjWait,TestSingleWaitForSubmitUnsubmitted)61 TEST_F(SyncobjWait, TestSingleWaitForSubmitUnsubmitted) {
62 runSubTest(testBinaryName, "single-wait-for-submit-unsubmitted");
63 }
64
TEST_F(SyncobjWait,TestInvalidSingleWaitAllUnsubmitted)65 TEST_F(SyncobjWait, TestInvalidSingleWaitAllUnsubmitted) {
66 runSubTest(testBinaryName, "invalid-single-wait-all-unsubmitted");
67 }
68
TEST_F(SyncobjWait,TestSingleWaitAllForSubmitUnsubmitted)69 TEST_F(SyncobjWait, TestSingleWaitAllForSubmitUnsubmitted) {
70 runSubTest(testBinaryName, "single-wait-all-for-submit-unsubmitted");
71 }
72
TEST_F(SyncobjWait,TestSingleWaitSubmitted)73 TEST_F(SyncobjWait, TestSingleWaitSubmitted) {
74 runSubTest(testBinaryName, "single-wait-submitted");
75 }
76
TEST_F(SyncobjWait,TestSingleWaitForSubmitSubmitted)77 TEST_F(SyncobjWait, TestSingleWaitForSubmitSubmitted) {
78 runSubTest(testBinaryName, "single-wait-for-submit-submitted");
79 }
80
TEST_F(SyncobjWait,TestSingleWaitAllSubmitted)81 TEST_F(SyncobjWait, TestSingleWaitAllSubmitted) {
82 runSubTest(testBinaryName, "single-wait-all-submitted");
83 }
84
TEST_F(SyncobjWait,TestSingleWaitAllForSubmitSubmitted)85 TEST_F(SyncobjWait, TestSingleWaitAllForSubmitSubmitted) {
86 runSubTest(testBinaryName, "single-wait-all-for-submit-submitted");
87 }
88
TEST_F(SyncobjWait,TestSingleWaitSignaled)89 TEST_F(SyncobjWait, TestSingleWaitSignaled) {
90 runSubTest(testBinaryName, "single-wait-signaled");
91 }
92
TEST_F(SyncobjWait,TestSingleWaitForSubmitSignaled)93 TEST_F(SyncobjWait, TestSingleWaitForSubmitSignaled) {
94 runSubTest(testBinaryName, "single-wait-for-submit-signaled");
95 }
96
TEST_F(SyncobjWait,TestSingleWaitAllSignaled)97 TEST_F(SyncobjWait, TestSingleWaitAllSignaled) {
98 runSubTest(testBinaryName, "single-wait-all-signaled");
99 }
100
TEST_F(SyncobjWait,TestSingleWaitAllForSubmitSignaled)101 TEST_F(SyncobjWait, TestSingleWaitAllForSubmitSignaled) {
102 runSubTest(testBinaryName, "single-wait-all-for-submit-signaled");
103 }
104
TEST_F(SyncobjWait,TestWaitDelayedSignal)105 TEST_F(SyncobjWait, TestWaitDelayedSignal) {
106 runSubTest(testBinaryName, "wait-delayed-signal");
107 }
108
TEST_F(SyncobjWait,TestWaitForSubmitDelayedSubmit)109 TEST_F(SyncobjWait, TestWaitForSubmitDelayedSubmit) {
110 runSubTest(testBinaryName, "wait-for-submit-delayed-submit");
111 }
112
TEST_F(SyncobjWait,TestWaitAllDelayedSignal)113 TEST_F(SyncobjWait, TestWaitAllDelayedSignal) {
114 runSubTest(testBinaryName, "wait-all-delayed-signal");
115 }
116
TEST_F(SyncobjWait,TestWaitAllForSubmitDelayedSubmit)117 TEST_F(SyncobjWait, TestWaitAllForSubmitDelayedSubmit) {
118 runSubTest(testBinaryName, "wait-all-for-submit-delayed-submit");
119 }
120
TEST_F(SyncobjWait,TestResetUnsignaled)121 TEST_F(SyncobjWait, TestResetUnsignaled) {
122 runSubTest(testBinaryName, "reset-unsignaled");
123 }
124
TEST_F(SyncobjWait,TestResetSignaled)125 TEST_F(SyncobjWait, TestResetSignaled) {
126 runSubTest(testBinaryName, "reset-signaled");
127 }
128
TEST_F(SyncobjWait,TestResetMultipleSignaled)129 TEST_F(SyncobjWait, TestResetMultipleSignaled) {
130 runSubTest(testBinaryName, "reset-multiple-signaled");
131 }
132
TEST_F(SyncobjWait,TestResetDuringWaitForSubmit)133 TEST_F(SyncobjWait, TestResetDuringWaitForSubmit) {
134 runSubTest(testBinaryName, "reset-during-wait-for-submit");
135 }
136
TEST_F(SyncobjWait,TestSignal)137 TEST_F(SyncobjWait, TestSignal) {
138 runSubTest(testBinaryName, "signal");
139 }
140
TEST_F(SyncobjWait,TestInvalidMultiWaitUnsubmitted)141 TEST_F(SyncobjWait, TestInvalidMultiWaitUnsubmitted) {
142 runSubTest(testBinaryName, "invalid-multi-wait-unsubmitted");
143 }
144
TEST_F(SyncobjWait,TestMultiWaitForSubmitUnsubmitted)145 TEST_F(SyncobjWait, TestMultiWaitForSubmitUnsubmitted) {
146 runSubTest(testBinaryName, "multi-wait-for-submit-unsubmitted");
147 }
148
TEST_F(SyncobjWait,TestInvalidMultiWaitAllUnsubmitted)149 TEST_F(SyncobjWait, TestInvalidMultiWaitAllUnsubmitted) {
150 runSubTest(testBinaryName, "invalid-multi-wait-all-unsubmitted");
151 }
152
TEST_F(SyncobjWait,TestMultiWaitAllForSubmitUnsubmitted)153 TEST_F(SyncobjWait, TestMultiWaitAllForSubmitUnsubmitted) {
154 runSubTest(testBinaryName, "multi-wait-all-for-submit-unsubmitted");
155 }
156
TEST_F(SyncobjWait,TestMultiWaitSubmitted)157 TEST_F(SyncobjWait, TestMultiWaitSubmitted) {
158 runSubTest(testBinaryName, "multi-wait-submitted");
159 }
160
TEST_F(SyncobjWait,TestMultiWaitForSubmitSubmitted)161 TEST_F(SyncobjWait, TestMultiWaitForSubmitSubmitted) {
162 runSubTest(testBinaryName, "multi-wait-for-submit-submitted");
163 }
164
TEST_F(SyncobjWait,TestMultiWaitAllSubmitted)165 TEST_F(SyncobjWait, TestMultiWaitAllSubmitted) {
166 runSubTest(testBinaryName, "multi-wait-all-submitted");
167 }
168
TEST_F(SyncobjWait,TestMultiWaitAllForSubmitSubmitted)169 TEST_F(SyncobjWait, TestMultiWaitAllForSubmitSubmitted) {
170 runSubTest(testBinaryName, "multi-wait-all-for-submit-submitted");
171 }
172
TEST_F(SyncobjWait,TestInvalidMultiWaitUnsubmittedSubmitted)173 TEST_F(SyncobjWait, TestInvalidMultiWaitUnsubmittedSubmitted) {
174 runSubTest(testBinaryName, "invalid-multi-wait-unsubmitted-submitted");
175 }
176
TEST_F(SyncobjWait,TestMultiWaitForSubmitUnsubmittedSubmitted)177 TEST_F(SyncobjWait, TestMultiWaitForSubmitUnsubmittedSubmitted) {
178 runSubTest(testBinaryName, "multi-wait-for-submit-unsubmitted-submitted");
179 }
180
TEST_F(SyncobjWait,TestInvalidMultiWaitAllUnsubmittedSubmitted)181 TEST_F(SyncobjWait, TestInvalidMultiWaitAllUnsubmittedSubmitted) {
182 runSubTest(testBinaryName, "invalid-multi-wait-all-unsubmitted-submitted");
183 }
184
TEST_F(SyncobjWait,TestMultiWaitAllForSubmitUnsubmittedSubmitted)185 TEST_F(SyncobjWait, TestMultiWaitAllForSubmitUnsubmittedSubmitted) {
186 runSubTest(testBinaryName, "multi-wait-all-for-submit-unsubmitted-submitted");
187 }
188
TEST_F(SyncobjWait,TestMultiWaitSignaled)189 TEST_F(SyncobjWait, TestMultiWaitSignaled) {
190 runSubTest(testBinaryName, "multi-wait-signaled");
191 }
192
TEST_F(SyncobjWait,TestMultiWaitForSubmitSignaled)193 TEST_F(SyncobjWait, TestMultiWaitForSubmitSignaled) {
194 runSubTest(testBinaryName, "multi-wait-for-submit-signaled");
195 }
196
TEST_F(SyncobjWait,TestMultiWaitAllSignaled)197 TEST_F(SyncobjWait, TestMultiWaitAllSignaled) {
198 runSubTest(testBinaryName, "multi-wait-all-signaled");
199 }
200
TEST_F(SyncobjWait,TestMultiWaitAllForSubmitSignaled)201 TEST_F(SyncobjWait, TestMultiWaitAllForSubmitSignaled) {
202 runSubTest(testBinaryName, "multi-wait-all-for-submit-signaled");
203 }
204
TEST_F(SyncobjWait,TestInvalidMultiWaitUnsubmittedSignaled)205 TEST_F(SyncobjWait, TestInvalidMultiWaitUnsubmittedSignaled) {
206 runSubTest(testBinaryName, "invalid-multi-wait-unsubmitted-signaled");
207 }
208
TEST_F(SyncobjWait,TestMultiWaitForSubmitUnsubmittedSignaled)209 TEST_F(SyncobjWait, TestMultiWaitForSubmitUnsubmittedSignaled) {
210 runSubTest(testBinaryName, "multi-wait-for-submit-unsubmitted-signaled");
211 }
212
TEST_F(SyncobjWait,TestInvalidMultiWaitAllUnsubmittedSignaled)213 TEST_F(SyncobjWait, TestInvalidMultiWaitAllUnsubmittedSignaled) {
214 runSubTest(testBinaryName, "invalid-multi-wait-all-unsubmitted-signaled");
215 }
216
TEST_F(SyncobjWait,TestMultiWaitAllForSubmitUnsubmittedSignaled)217 TEST_F(SyncobjWait, TestMultiWaitAllForSubmitUnsubmittedSignaled) {
218 runSubTest(testBinaryName, "multi-wait-all-for-submit-unsubmitted-signaled");
219 }
220
TEST_F(SyncobjWait,TestMultiWaitSubmittedSignaled)221 TEST_F(SyncobjWait, TestMultiWaitSubmittedSignaled) {
222 runSubTest(testBinaryName, "multi-wait-submitted-signaled");
223 }
224
TEST_F(SyncobjWait,TestMultiWaitForSubmitSubmittedSignaled)225 TEST_F(SyncobjWait, TestMultiWaitForSubmitSubmittedSignaled) {
226 runSubTest(testBinaryName, "multi-wait-for-submit-submitted-signaled");
227 }
228
TEST_F(SyncobjWait,TestMultiWaitAllSubmittedSignaled)229 TEST_F(SyncobjWait, TestMultiWaitAllSubmittedSignaled) {
230 runSubTest(testBinaryName, "multi-wait-all-submitted-signaled");
231 }
232
TEST_F(SyncobjWait,TestMultiWaitAllForSubmitSubmittedSignaled)233 TEST_F(SyncobjWait, TestMultiWaitAllForSubmitSubmittedSignaled) {
234 runSubTest(testBinaryName, "multi-wait-all-for-submit-submitted-signaled");
235 }
236
TEST_F(SyncobjWait,TestInvalidMultiWaitUnsubmittedSubmittedSignaled)237 TEST_F(SyncobjWait, TestInvalidMultiWaitUnsubmittedSubmittedSignaled) {
238 runSubTest(testBinaryName, "invalid-multi-wait-unsubmitted-submitted-signaled");
239 }
240
TEST_F(SyncobjWait,TestMultiWaitForSubmitUnsubmittedSubmittedSignaled)241 TEST_F(SyncobjWait, TestMultiWaitForSubmitUnsubmittedSubmittedSignaled) {
242 runSubTest(testBinaryName, "multi-wait-for-submit-unsubmitted-submitted-signaled");
243 }
244
TEST_F(SyncobjWait,TestInvalidMultiWaitAllUnsubmittedSubmittedSignaled)245 TEST_F(SyncobjWait, TestInvalidMultiWaitAllUnsubmittedSubmittedSignaled) {
246 runSubTest(testBinaryName, "invalid-multi-wait-all-unsubmitted-submitted-signaled");
247 }
248
TEST_F(SyncobjWait,TestWaitAnySnapshot)249 TEST_F(SyncobjWait, TestWaitAnySnapshot) {
250 runSubTest(testBinaryName, "wait-any-snapshot");
251 }
252
TEST_F(SyncobjWait,TestWaitAllSnapshot)253 TEST_F(SyncobjWait, TestWaitAllSnapshot) {
254 runSubTest(testBinaryName, "wait-all-snapshot");
255 }
256
TEST_F(SyncobjWait,TestWaitForSubmitSnapshot)257 TEST_F(SyncobjWait, TestWaitForSubmitSnapshot) {
258 runSubTest(testBinaryName, "wait-for-submit-snapshot");
259 }
260
TEST_F(SyncobjWait,TestWaitAllForSubmitSnapshot)261 TEST_F(SyncobjWait, TestWaitAllForSubmitSnapshot) {
262 runSubTest(testBinaryName, "wait-all-for-submit-snapshot");
263 }
264
TEST_F(SyncobjWait,TestWaitAnyComplex)265 TEST_F(SyncobjWait, TestWaitAnyComplex) {
266 runSubTest(testBinaryName, "wait-any-complex");
267 }
268
TEST_F(SyncobjWait,TestWaitAllComplex)269 TEST_F(SyncobjWait, TestWaitAllComplex) {
270 runSubTest(testBinaryName, "wait-all-complex");
271 }
272
TEST_F(SyncobjWait,TestWaitForSubmitComplex)273 TEST_F(SyncobjWait, TestWaitForSubmitComplex) {
274 runSubTest(testBinaryName, "wait-for-submit-complex");
275 }
276
TEST_F(SyncobjWait,TestWaitAllForSubmitComplex)277 TEST_F(SyncobjWait, TestWaitAllForSubmitComplex) {
278 runSubTest(testBinaryName, "wait-all-for-submit-complex");
279 }
280
TEST_F(SyncobjWait,TestWaitAnyInterrupted)281 TEST_F(SyncobjWait, TestWaitAnyInterrupted) {
282 runSubTest(testBinaryName, "wait-any-interrupted");
283 }
284
TEST_F(SyncobjWait,TestWaitAllInterrupted)285 TEST_F(SyncobjWait, TestWaitAllInterrupted) {
286 runSubTest(testBinaryName, "wait-all-interrupted");
287 }
288