1 #include "android/hardware/tests/msgq/1.0/TestMsgQ.vts.h"
2 #include "vts_measurement.h"
3 #include <android-base/logging.h>
4 #include <android/hidl/allocator/1.0/IAllocator.h>
5 #include <fmq/MessageQueue.h>
6 #include <sys/stat.h>
7 #include <unistd.h>
8
9
10 using namespace android::hardware::tests::msgq::V1_0;
11 namespace android {
12 namespace vts {
MessageTo__android__hardware__tests__msgq__V1_0__ITestMsgQ__EventFlagBits(const VariableSpecificationMessage & var_msg,::android::hardware::tests::msgq::V1_0::ITestMsgQ::EventFlagBits * arg,const string & callback_socket_name)13 extern "C" void MessageTo__android__hardware__tests__msgq__V1_0__ITestMsgQ__EventFlagBits(const VariableSpecificationMessage& var_msg __attribute__((__unused__)), ::android::hardware::tests::msgq::V1_0::ITestMsgQ::EventFlagBits* arg __attribute__((__unused__)), const string& callback_socket_name __attribute__((__unused__))) {
14 *arg = (::android::hardware::tests::msgq::V1_0::ITestMsgQ::EventFlagBits)var_msg.scalar_value().uint32_t();
15 }
Random__android__hardware__tests__msgq__V1_0__ITestMsgQ__EventFlagBits()16 uint32_t Random__android__hardware__tests__msgq__V1_0__ITestMsgQ__EventFlagBits() {
17 uint32_t choice = (uint32_t) rand() / 2;
18 if (choice == (uint32_t) 1UL) return static_cast<uint32_t>(::android::hardware::tests::msgq::V1_0::ITestMsgQ::EventFlagBits::FMQ_NOT_EMPTY);
19 if (choice == (uint32_t) 2UL) return static_cast<uint32_t>(::android::hardware::tests::msgq::V1_0::ITestMsgQ::EventFlagBits::FMQ_NOT_FULL);
20 return static_cast<uint32_t>(::android::hardware::tests::msgq::V1_0::ITestMsgQ::EventFlagBits::FMQ_NOT_EMPTY);
21 }
Verify__android__hardware__tests__msgq__V1_0__ITestMsgQ__EventFlagBits(const VariableSpecificationMessage & expected_result,const VariableSpecificationMessage & actual_result)22 bool Verify__android__hardware__tests__msgq__V1_0__ITestMsgQ__EventFlagBits(const VariableSpecificationMessage& expected_result __attribute__((__unused__)), const VariableSpecificationMessage& actual_result __attribute__((__unused__))){
23 if (actual_result.scalar_value().uint32_t() != expected_result.scalar_value().uint32_t()) { return false; }
24 return true;
25 }
26
SetResult__android__hardware__tests__msgq__V1_0__ITestMsgQ__EventFlagBits(VariableSpecificationMessage * result_msg,::android::hardware::tests::msgq::V1_0::ITestMsgQ::EventFlagBits result_value)27 extern "C" void SetResult__android__hardware__tests__msgq__V1_0__ITestMsgQ__EventFlagBits(VariableSpecificationMessage* result_msg, ::android::hardware::tests::msgq::V1_0::ITestMsgQ::EventFlagBits result_value __attribute__((__unused__))){
28 result_msg->set_type(TYPE_ENUM);
29 result_msg->set_scalar_type("uint32_t");
30 result_msg->mutable_scalar_value()->set_uint32_t(static_cast<uint32_t>(result_value));
31 }
32
GetService(bool get_stub,const char * service_name)33 bool FuzzerExtended_android_hardware_tests_msgq_V1_0_ITestMsgQ::GetService(bool get_stub, const char* service_name) {
34 static bool initialized = false;
35 if (!initialized) {
36 LOG(INFO) << "HIDL getService";
37 if (service_name) {
38 LOG(INFO) << " - service name: " << service_name;
39 }
40 hw_binder_proxy_ = ::android::hardware::tests::msgq::V1_0::ITestMsgQ::getService(service_name, get_stub);
41 if (hw_binder_proxy_ == nullptr) {
42 LOG(ERROR) << "getService() returned a null pointer.";
43 return false;
44 }
45 LOG(DEBUG) << "hw_binder_proxy_ = " << hw_binder_proxy_.get();
46 initialized = true;
47 }
48 return true;
49 }
50
51
configureFmqSyncReadWrite(const::android::hardware::MQDescriptorSync<uint16_t> & arg0)52 ::android::hardware::Return<bool> Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::configureFmqSyncReadWrite(
53 const ::android::hardware::MQDescriptorSync<uint16_t>& arg0 __attribute__((__unused__))) {
54 LOG(INFO) << "configureFmqSyncReadWrite called";
55 AndroidSystemCallbackRequestMessage callback_message;
56 callback_message.set_id(GetCallbackID("configureFmqSyncReadWrite"));
57 callback_message.set_name("Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::configureFmqSyncReadWrite");
58 VariableSpecificationMessage* var_msg0 = callback_message.add_arg();
59 var_msg0->set_type(TYPE_FMQ_SYNC);
60 VariableSpecificationMessage* var_msg0_item = var_msg0->add_fmq_value();
61 var_msg0_item->set_type(TYPE_SCALAR);
62 var_msg0_item->set_scalar_type("uint16_t");
63 var_msg0_item->set_fmq_desc_address(reinterpret_cast<size_t>(new (std::nothrow) ::android::hardware::MQDescriptorSync<uint16_t>(arg0)));
64 RpcCallToAgent(callback_message, callback_socket_name_);
65 return static_cast<bool>(0);
66 }
67
getFmqUnsyncWrite(bool arg0,std::function<void (bool arg0,const::android::hardware::MQDescriptorUnsync<uint16_t> & arg1)> cb)68 ::android::hardware::Return<void> Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::getFmqUnsyncWrite(
69 bool arg0 __attribute__((__unused__)), std::function<void(bool arg0,const ::android::hardware::MQDescriptorUnsync<uint16_t>& arg1)> cb) {
70 LOG(INFO) << "getFmqUnsyncWrite called";
71 AndroidSystemCallbackRequestMessage callback_message;
72 callback_message.set_id(GetCallbackID("getFmqUnsyncWrite"));
73 callback_message.set_name("Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::getFmqUnsyncWrite");
74 VariableSpecificationMessage* var_msg0 = callback_message.add_arg();
75 var_msg0->set_type(TYPE_SCALAR);
76 var_msg0->set_scalar_type("bool_t");
77 var_msg0->mutable_scalar_value()->set_bool_t(arg0);
78 RpcCallToAgent(callback_message, callback_socket_name_);
79 cb(static_cast<bool>(0), ::android::hardware::MQDescriptorUnsync<uint16_t>());
80 return ::android::hardware::Void();
81 }
82
requestWriteFmqSync(int32_t arg0)83 ::android::hardware::Return<bool> Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::requestWriteFmqSync(
84 int32_t arg0 __attribute__((__unused__))) {
85 LOG(INFO) << "requestWriteFmqSync called";
86 AndroidSystemCallbackRequestMessage callback_message;
87 callback_message.set_id(GetCallbackID("requestWriteFmqSync"));
88 callback_message.set_name("Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::requestWriteFmqSync");
89 VariableSpecificationMessage* var_msg0 = callback_message.add_arg();
90 var_msg0->set_type(TYPE_SCALAR);
91 var_msg0->set_scalar_type("int32_t");
92 var_msg0->mutable_scalar_value()->set_int32_t(arg0);
93 RpcCallToAgent(callback_message, callback_socket_name_);
94 return static_cast<bool>(0);
95 }
96
requestReadFmqSync(int32_t arg0)97 ::android::hardware::Return<bool> Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::requestReadFmqSync(
98 int32_t arg0 __attribute__((__unused__))) {
99 LOG(INFO) << "requestReadFmqSync called";
100 AndroidSystemCallbackRequestMessage callback_message;
101 callback_message.set_id(GetCallbackID("requestReadFmqSync"));
102 callback_message.set_name("Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::requestReadFmqSync");
103 VariableSpecificationMessage* var_msg0 = callback_message.add_arg();
104 var_msg0->set_type(TYPE_SCALAR);
105 var_msg0->set_scalar_type("int32_t");
106 var_msg0->mutable_scalar_value()->set_int32_t(arg0);
107 RpcCallToAgent(callback_message, callback_socket_name_);
108 return static_cast<bool>(0);
109 }
110
requestWriteFmqUnsync(int32_t arg0)111 ::android::hardware::Return<bool> Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::requestWriteFmqUnsync(
112 int32_t arg0 __attribute__((__unused__))) {
113 LOG(INFO) << "requestWriteFmqUnsync called";
114 AndroidSystemCallbackRequestMessage callback_message;
115 callback_message.set_id(GetCallbackID("requestWriteFmqUnsync"));
116 callback_message.set_name("Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::requestWriteFmqUnsync");
117 VariableSpecificationMessage* var_msg0 = callback_message.add_arg();
118 var_msg0->set_type(TYPE_SCALAR);
119 var_msg0->set_scalar_type("int32_t");
120 var_msg0->mutable_scalar_value()->set_int32_t(arg0);
121 RpcCallToAgent(callback_message, callback_socket_name_);
122 return static_cast<bool>(0);
123 }
124
requestReadFmqUnsync(int32_t arg0)125 ::android::hardware::Return<bool> Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::requestReadFmqUnsync(
126 int32_t arg0 __attribute__((__unused__))) {
127 LOG(INFO) << "requestReadFmqUnsync called";
128 AndroidSystemCallbackRequestMessage callback_message;
129 callback_message.set_id(GetCallbackID("requestReadFmqUnsync"));
130 callback_message.set_name("Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::requestReadFmqUnsync");
131 VariableSpecificationMessage* var_msg0 = callback_message.add_arg();
132 var_msg0->set_type(TYPE_SCALAR);
133 var_msg0->set_scalar_type("int32_t");
134 var_msg0->mutable_scalar_value()->set_int32_t(arg0);
135 RpcCallToAgent(callback_message, callback_socket_name_);
136 return static_cast<bool>(0);
137 }
138
requestBlockingRead(int32_t arg0)139 ::android::hardware::Return<void> Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::requestBlockingRead(
140 int32_t arg0 __attribute__((__unused__))) {
141 LOG(INFO) << "requestBlockingRead called";
142 AndroidSystemCallbackRequestMessage callback_message;
143 callback_message.set_id(GetCallbackID("requestBlockingRead"));
144 callback_message.set_name("Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::requestBlockingRead");
145 VariableSpecificationMessage* var_msg0 = callback_message.add_arg();
146 var_msg0->set_type(TYPE_SCALAR);
147 var_msg0->set_scalar_type("int32_t");
148 var_msg0->mutable_scalar_value()->set_int32_t(arg0);
149 RpcCallToAgent(callback_message, callback_socket_name_);
150 return ::android::hardware::Void();
151 }
152
requestBlockingReadDefaultEventFlagBits(int32_t arg0)153 ::android::hardware::Return<void> Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::requestBlockingReadDefaultEventFlagBits(
154 int32_t arg0 __attribute__((__unused__))) {
155 LOG(INFO) << "requestBlockingReadDefaultEventFlagBits called";
156 AndroidSystemCallbackRequestMessage callback_message;
157 callback_message.set_id(GetCallbackID("requestBlockingReadDefaultEventFlagBits"));
158 callback_message.set_name("Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::requestBlockingReadDefaultEventFlagBits");
159 VariableSpecificationMessage* var_msg0 = callback_message.add_arg();
160 var_msg0->set_type(TYPE_SCALAR);
161 var_msg0->set_scalar_type("int32_t");
162 var_msg0->mutable_scalar_value()->set_int32_t(arg0);
163 RpcCallToAgent(callback_message, callback_socket_name_);
164 return ::android::hardware::Void();
165 }
166
requestBlockingReadRepeat(int32_t arg0,int32_t arg1)167 ::android::hardware::Return<void> Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::requestBlockingReadRepeat(
168 int32_t arg0 __attribute__((__unused__)),
169 int32_t arg1 __attribute__((__unused__))) {
170 LOG(INFO) << "requestBlockingReadRepeat called";
171 AndroidSystemCallbackRequestMessage callback_message;
172 callback_message.set_id(GetCallbackID("requestBlockingReadRepeat"));
173 callback_message.set_name("Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ::requestBlockingReadRepeat");
174 VariableSpecificationMessage* var_msg0 = callback_message.add_arg();
175 var_msg0->set_type(TYPE_SCALAR);
176 var_msg0->set_scalar_type("int32_t");
177 var_msg0->mutable_scalar_value()->set_int32_t(arg0);
178 VariableSpecificationMessage* var_msg1 = callback_message.add_arg();
179 var_msg1->set_type(TYPE_SCALAR);
180 var_msg1->set_scalar_type("int32_t");
181 var_msg1->mutable_scalar_value()->set_int32_t(arg1);
182 RpcCallToAgent(callback_message, callback_socket_name_);
183 return ::android::hardware::Void();
184 }
185
VtsFuzzerCreateVts_android_hardware_tests_msgq_V1_0_ITestMsgQ(const string & callback_socket_name)186 sp<::android::hardware::tests::msgq::V1_0::ITestMsgQ> VtsFuzzerCreateVts_android_hardware_tests_msgq_V1_0_ITestMsgQ(const string& callback_socket_name) {
187 static sp<::android::hardware::tests::msgq::V1_0::ITestMsgQ> result;
188 result = new Vts_android_hardware_tests_msgq_V1_0_ITestMsgQ(callback_socket_name);
189 return result;
190 }
191
Fuzz(FunctionSpecificationMessage *,void **,const string &)192 bool FuzzerExtended_android_hardware_tests_msgq_V1_0_ITestMsgQ::Fuzz(
193 FunctionSpecificationMessage* /*func_msg*/,
194 void** /*result*/, const string& /*callback_socket_name*/) {
195 return true;
196 }
GetAttribute(FunctionSpecificationMessage *,void **)197 bool FuzzerExtended_android_hardware_tests_msgq_V1_0_ITestMsgQ::GetAttribute(
198 FunctionSpecificationMessage* /*func_msg*/,
199 void** /*result*/) {
200 LOG(ERROR) << "attribute not found.";
201 return false;
202 }
CallFunction(const FunctionSpecificationMessage & func_msg,const string & callback_socket_name,FunctionSpecificationMessage * result_msg)203 bool FuzzerExtended_android_hardware_tests_msgq_V1_0_ITestMsgQ::CallFunction(
204 const FunctionSpecificationMessage& func_msg,
205 const string& callback_socket_name __attribute__((__unused__)),
206 FunctionSpecificationMessage* result_msg) {
207 const char* func_name = func_msg.name().c_str();
208 if (hw_binder_proxy_ == nullptr) {
209 LOG(ERROR) << "hw_binder_proxy_ is null. ";
210 return false;
211 }
212 if (!strcmp(func_name, "configureFmqSyncReadWrite")) {
213 const ::android::hardware::MQDescriptorSync<uint16_t>* arg0;
214 if (func_msg.arg(0).fmq_value_size() > 0 && func_msg.arg(0).fmq_value(0).has_fmq_desc_address()) {
215 arg0 = reinterpret_cast<::android::hardware::MQDescriptorSync<uint16_t>*>(func_msg.arg(0).fmq_value(0).fmq_desc_address());
216 } else {
217 ::android::hardware::MessageQueue<uint16_t, ::android::hardware::kSynchronizedReadWrite> arg0_sync_q(1024);
218 for (int i = 0; i < (int)func_msg.arg(0).fmq_value_size(); i++) {
219 uint16_t arg0_sync_q_item;
220 arg0_sync_q_item = func_msg.arg(0).fmq_value(i).scalar_value().uint16_t();
221 arg0_sync_q.write(&arg0_sync_q_item);
222 }
223 arg0 = arg0_sync_q.getDesc();
224 }
225 LOG(DEBUG) << "local_device = " << hw_binder_proxy_.get();
226 bool result0 = hw_binder_proxy_->configureFmqSyncReadWrite(*arg0);
227 result_msg->set_name("configureFmqSyncReadWrite");
228 VariableSpecificationMessage* result_val_0 = result_msg->add_return_type_hidl();
229 result_val_0->set_type(TYPE_SCALAR);
230 result_val_0->set_scalar_type("bool_t");
231 result_val_0->mutable_scalar_value()->set_bool_t(result0);
232 return true;
233 }
234 if (!strcmp(func_name, "getFmqUnsyncWrite")) {
235 bool arg0 = 0;
236 arg0 = func_msg.arg(0).scalar_value().bool_t();
237 LOG(DEBUG) << "local_device = " << hw_binder_proxy_.get();
238 hw_binder_proxy_->getFmqUnsyncWrite(arg0, [&](bool arg0 __attribute__((__unused__)),const ::android::hardware::MQDescriptorUnsync<uint16_t>& arg1 __attribute__((__unused__))){
239 LOG(INFO) << "callback getFmqUnsyncWrite called";
240 result_msg->set_name("getFmqUnsyncWrite");
241 VariableSpecificationMessage* result_val_0 = result_msg->add_return_type_hidl();
242 result_val_0->set_type(TYPE_SCALAR);
243 result_val_0->set_scalar_type("bool_t");
244 result_val_0->mutable_scalar_value()->set_bool_t(arg0);
245 VariableSpecificationMessage* result_val_1 = result_msg->add_return_type_hidl();
246 result_val_1->set_type(TYPE_FMQ_UNSYNC);
247 VariableSpecificationMessage* result_val_1_item = result_val_1->add_fmq_value();
248 result_val_1_item->set_type(TYPE_SCALAR);
249 result_val_1_item->set_scalar_type("uint16_t");
250 result_val_1_item->set_fmq_desc_address(reinterpret_cast<size_t>(new (std::nothrow) ::android::hardware::MQDescriptorUnsync<uint16_t>(arg1)));
251 });
252 return true;
253 }
254 if (!strcmp(func_name, "requestWriteFmqSync")) {
255 int32_t arg0 = 0;
256 arg0 = func_msg.arg(0).scalar_value().int32_t();
257 LOG(DEBUG) << "local_device = " << hw_binder_proxy_.get();
258 bool result0 = hw_binder_proxy_->requestWriteFmqSync(arg0);
259 result_msg->set_name("requestWriteFmqSync");
260 VariableSpecificationMessage* result_val_0 = result_msg->add_return_type_hidl();
261 result_val_0->set_type(TYPE_SCALAR);
262 result_val_0->set_scalar_type("bool_t");
263 result_val_0->mutable_scalar_value()->set_bool_t(result0);
264 return true;
265 }
266 if (!strcmp(func_name, "requestReadFmqSync")) {
267 int32_t arg0 = 0;
268 arg0 = func_msg.arg(0).scalar_value().int32_t();
269 LOG(DEBUG) << "local_device = " << hw_binder_proxy_.get();
270 bool result0 = hw_binder_proxy_->requestReadFmqSync(arg0);
271 result_msg->set_name("requestReadFmqSync");
272 VariableSpecificationMessage* result_val_0 = result_msg->add_return_type_hidl();
273 result_val_0->set_type(TYPE_SCALAR);
274 result_val_0->set_scalar_type("bool_t");
275 result_val_0->mutable_scalar_value()->set_bool_t(result0);
276 return true;
277 }
278 if (!strcmp(func_name, "requestWriteFmqUnsync")) {
279 int32_t arg0 = 0;
280 arg0 = func_msg.arg(0).scalar_value().int32_t();
281 LOG(DEBUG) << "local_device = " << hw_binder_proxy_.get();
282 bool result0 = hw_binder_proxy_->requestWriteFmqUnsync(arg0);
283 result_msg->set_name("requestWriteFmqUnsync");
284 VariableSpecificationMessage* result_val_0 = result_msg->add_return_type_hidl();
285 result_val_0->set_type(TYPE_SCALAR);
286 result_val_0->set_scalar_type("bool_t");
287 result_val_0->mutable_scalar_value()->set_bool_t(result0);
288 return true;
289 }
290 if (!strcmp(func_name, "requestReadFmqUnsync")) {
291 int32_t arg0 = 0;
292 arg0 = func_msg.arg(0).scalar_value().int32_t();
293 LOG(DEBUG) << "local_device = " << hw_binder_proxy_.get();
294 bool result0 = hw_binder_proxy_->requestReadFmqUnsync(arg0);
295 result_msg->set_name("requestReadFmqUnsync");
296 VariableSpecificationMessage* result_val_0 = result_msg->add_return_type_hidl();
297 result_val_0->set_type(TYPE_SCALAR);
298 result_val_0->set_scalar_type("bool_t");
299 result_val_0->mutable_scalar_value()->set_bool_t(result0);
300 return true;
301 }
302 if (!strcmp(func_name, "requestBlockingRead")) {
303 int32_t arg0 = 0;
304 arg0 = func_msg.arg(0).scalar_value().int32_t();
305 LOG(DEBUG) << "local_device = " << hw_binder_proxy_.get();
306 hw_binder_proxy_->requestBlockingRead(arg0);
307 result_msg->set_name("requestBlockingRead");
308 return true;
309 }
310 if (!strcmp(func_name, "requestBlockingReadDefaultEventFlagBits")) {
311 int32_t arg0 = 0;
312 arg0 = func_msg.arg(0).scalar_value().int32_t();
313 LOG(DEBUG) << "local_device = " << hw_binder_proxy_.get();
314 hw_binder_proxy_->requestBlockingReadDefaultEventFlagBits(arg0);
315 result_msg->set_name("requestBlockingReadDefaultEventFlagBits");
316 return true;
317 }
318 if (!strcmp(func_name, "requestBlockingReadRepeat")) {
319 int32_t arg0 = 0;
320 arg0 = func_msg.arg(0).scalar_value().int32_t();
321 int32_t arg1 = 0;
322 arg1 = func_msg.arg(1).scalar_value().int32_t();
323 LOG(DEBUG) << "local_device = " << hw_binder_proxy_.get();
324 hw_binder_proxy_->requestBlockingReadRepeat(arg0, arg1);
325 result_msg->set_name("requestBlockingReadRepeat");
326 return true;
327 }
328 if (!strcmp(func_name, "notifySyspropsChanged")) {
329 LOG(INFO) << "Call notifySyspropsChanged";
330 hw_binder_proxy_->notifySyspropsChanged();
331 result_msg->set_name("notifySyspropsChanged");
332 return true;
333 }
334 return false;
335 }
336
VerifyResults(const FunctionSpecificationMessage & expected_result,const FunctionSpecificationMessage & actual_result)337 bool FuzzerExtended_android_hardware_tests_msgq_V1_0_ITestMsgQ::VerifyResults(const FunctionSpecificationMessage& expected_result __attribute__((__unused__)),
338 const FunctionSpecificationMessage& actual_result __attribute__((__unused__))) {
339 if (!strcmp(actual_result.name().c_str(), "configureFmqSyncReadWrite")) {
340 if (actual_result.return_type_hidl_size() != expected_result.return_type_hidl_size() ) { return false; }
341 if (actual_result.return_type_hidl(0).scalar_value().bool_t() != expected_result.return_type_hidl(0).scalar_value().bool_t()) { return false; }
342 return true;
343 }
344 if (!strcmp(actual_result.name().c_str(), "getFmqUnsyncWrite")) {
345 if (actual_result.return_type_hidl_size() != expected_result.return_type_hidl_size() ) { return false; }
346 if (actual_result.return_type_hidl(0).scalar_value().bool_t() != expected_result.return_type_hidl(0).scalar_value().bool_t()) { return false; }
347 LOG(ERROR) << "TYPE_FMQ_UNSYNC is not supported yet. ";
348 return true;
349 }
350 if (!strcmp(actual_result.name().c_str(), "requestWriteFmqSync")) {
351 if (actual_result.return_type_hidl_size() != expected_result.return_type_hidl_size() ) { return false; }
352 if (actual_result.return_type_hidl(0).scalar_value().bool_t() != expected_result.return_type_hidl(0).scalar_value().bool_t()) { return false; }
353 return true;
354 }
355 if (!strcmp(actual_result.name().c_str(), "requestReadFmqSync")) {
356 if (actual_result.return_type_hidl_size() != expected_result.return_type_hidl_size() ) { return false; }
357 if (actual_result.return_type_hidl(0).scalar_value().bool_t() != expected_result.return_type_hidl(0).scalar_value().bool_t()) { return false; }
358 return true;
359 }
360 if (!strcmp(actual_result.name().c_str(), "requestWriteFmqUnsync")) {
361 if (actual_result.return_type_hidl_size() != expected_result.return_type_hidl_size() ) { return false; }
362 if (actual_result.return_type_hidl(0).scalar_value().bool_t() != expected_result.return_type_hidl(0).scalar_value().bool_t()) { return false; }
363 return true;
364 }
365 if (!strcmp(actual_result.name().c_str(), "requestReadFmqUnsync")) {
366 if (actual_result.return_type_hidl_size() != expected_result.return_type_hidl_size() ) { return false; }
367 if (actual_result.return_type_hidl(0).scalar_value().bool_t() != expected_result.return_type_hidl(0).scalar_value().bool_t()) { return false; }
368 return true;
369 }
370 if (!strcmp(actual_result.name().c_str(), "requestBlockingRead")) {
371 if (actual_result.return_type_hidl_size() != expected_result.return_type_hidl_size() ) { return false; }
372 return true;
373 }
374 if (!strcmp(actual_result.name().c_str(), "requestBlockingReadDefaultEventFlagBits")) {
375 if (actual_result.return_type_hidl_size() != expected_result.return_type_hidl_size() ) { return false; }
376 return true;
377 }
378 if (!strcmp(actual_result.name().c_str(), "requestBlockingReadRepeat")) {
379 if (actual_result.return_type_hidl_size() != expected_result.return_type_hidl_size() ) { return false; }
380 return true;
381 }
382 return false;
383 }
384
385 extern "C" {
vts_func_4_android_hardware_tests_msgq_V1_0_ITestMsgQ_()386 android::vts::DriverBase* vts_func_4_android_hardware_tests_msgq_V1_0_ITestMsgQ_() {
387 return (android::vts::DriverBase*) new android::vts::FuzzerExtended_android_hardware_tests_msgq_V1_0_ITestMsgQ();
388 }
389
vts_func_4_android_hardware_tests_msgq_V1_0_ITestMsgQ_with_arg(uint64_t hw_binder_proxy)390 android::vts::DriverBase* vts_func_4_android_hardware_tests_msgq_V1_0_ITestMsgQ_with_arg(uint64_t hw_binder_proxy) {
391 ::android::hardware::tests::msgq::V1_0::ITestMsgQ* arg = nullptr;
392 if (hw_binder_proxy) {
393 arg = reinterpret_cast<::android::hardware::tests::msgq::V1_0::ITestMsgQ*>(hw_binder_proxy);
394 } else {
395 LOG(INFO) << " Creating DriverBase with null proxy.";
396 }
397 android::vts::DriverBase* result =
398 new android::vts::FuzzerExtended_android_hardware_tests_msgq_V1_0_ITestMsgQ(
399 arg);
400 if (arg != nullptr) {
401 arg->decStrong(arg);
402 }
403 return result;
404 }
405
406 }
407 } // namespace vts
408 } // namespace android
409