summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorNirav Atre2018-07-26 23:24:32 -0500
committerSteven Moreland2018-08-10 16:46:45 -0500
commit4b34843cfb82a306b2e3e368ded44e8c141893fd (patch)
tree8be33824da2b66a7808b02d3591053b93c8f0518 /tests
parentc07a66e169bc8b5a2bebe209c48bf27a553084ce (diff)
downloadplatform-hardware-interfaces-4b34843cfb82a306b2e3e368ded44e8c141893fd.tar.gz
platform-hardware-interfaces-4b34843cfb82a306b2e3e368ded44e8c141893fd.tar.xz
platform-hardware-interfaces-4b34843cfb82a306b2e3e368ded44e8c141893fd.zip
Adding handle types to Java-compatible test HALs
This change adds HIDL handle types to the baz@1.0 and safeunion@1.0 test HALs to exercise native handles in Java. Bug: 35098567 Test: Ran the hidl_test (C++ and Java) suites Change-Id: Iddf1c269cbdc68ce337f1e787570f3810f7baad2
Diffstat (limited to 'tests')
-rw-r--r--tests/baz/1.0/IBaz.hal5
-rw-r--r--tests/safeunion/1.0/ISafeUnion.hal15
-rw-r--r--tests/safeunion/1.0/default/SafeUnion.cpp70
-rw-r--r--tests/safeunion/1.0/default/SafeUnion.h12
4 files changed, 100 insertions, 2 deletions
diff --git a/tests/baz/1.0/IBaz.hal b/tests/baz/1.0/IBaz.hal
index 00fe5686..8118d8bf 100644
--- a/tests/baz/1.0/IBaz.hal
+++ b/tests/baz/1.0/IBaz.hal
@@ -68,6 +68,11 @@ interface IBaz extends IBase {
68 bitfield<BitField> bf; 68 bitfield<BitField> bf;
69 }; 69 };
70 70
71 struct MyHandle {
72 handle h;
73 int32_t guard;
74 };
75
71 struct StructWithInterface { 76 struct StructWithInterface {
72 int32_t number; 77 int32_t number;
73 int8_t[7] array; 78 int8_t[7] array;
diff --git a/tests/safeunion/1.0/ISafeUnion.hal b/tests/safeunion/1.0/ISafeUnion.hal
index e56022f4..c38777a9 100644
--- a/tests/safeunion/1.0/ISafeUnion.hal
+++ b/tests/safeunion/1.0/ISafeUnion.hal
@@ -68,6 +68,14 @@ interface ISafeUnion {
68 IOtherInterface c; 68 IOtherInterface c;
69 string d; 69 string d;
70 vec<string> e; 70 vec<string> e;
71 handle f;
72 vec<handle> g;
73 };
74
75 safe_union HandleTypeSafeUnion {
76 handle a;
77 handle[5] b;
78 vec<handle> c;
71 }; 79 };
72 80
73 newLargeSafeUnion() generates (LargeSafeUnion myUnion); 81 newLargeSafeUnion() generates (LargeSafeUnion myUnion);
@@ -90,4 +98,11 @@ interface ISafeUnion {
90 setInterfaceC(InterfaceTypeSafeUnion myUnion, IOtherInterface c) generates (InterfaceTypeSafeUnion myUnion); 98 setInterfaceC(InterfaceTypeSafeUnion myUnion, IOtherInterface c) generates (InterfaceTypeSafeUnion myUnion);
91 setInterfaceD(InterfaceTypeSafeUnion myUnion, string d) generates (InterfaceTypeSafeUnion myUnion); 99 setInterfaceD(InterfaceTypeSafeUnion myUnion, string d) generates (InterfaceTypeSafeUnion myUnion);
92 setInterfaceE(InterfaceTypeSafeUnion myUnion, vec<string> e) generates (InterfaceTypeSafeUnion myUnion); 100 setInterfaceE(InterfaceTypeSafeUnion myUnion, vec<string> e) generates (InterfaceTypeSafeUnion myUnion);
101 setInterfaceF(InterfaceTypeSafeUnion myUnion, handle f) generates (InterfaceTypeSafeUnion myUnion);
102 setInterfaceG(InterfaceTypeSafeUnion myUnion, vec<handle> g) generates (InterfaceTypeSafeUnion myUnion);
103
104 newHandleTypeSafeUnion() generates (HandleTypeSafeUnion myUnion);
105 setHandleA(HandleTypeSafeUnion myUnion, handle a) generates (HandleTypeSafeUnion myUnion);
106 setHandleB(HandleTypeSafeUnion myUnion, handle[5] b) generates (HandleTypeSafeUnion myUnion);
107 setHandleC(HandleTypeSafeUnion myUnion, vec<handle> c) generates (HandleTypeSafeUnion myUnion);
93}; 108};
diff --git a/tests/safeunion/1.0/default/SafeUnion.cpp b/tests/safeunion/1.0/default/SafeUnion.cpp
index 11b2e367..c3956641 100644
--- a/tests/safeunion/1.0/default/SafeUnion.cpp
+++ b/tests/safeunion/1.0/default/SafeUnion.cpp
@@ -191,7 +191,8 @@ Return<void> SafeUnion::setInterfaceC(const InterfaceTypeSafeUnion& myUnion, con
191 return Void(); 191 return Void();
192} 192}
193 193
194Return<void> SafeUnion::setInterfaceD(const ::android::hardware::tests::safeunion::V1_0::ISafeUnion::InterfaceTypeSafeUnion& myUnion, const hidl_string& d, setInterfaceD_cb _hidl_cb) { 194Return<void> SafeUnion::setInterfaceD(const InterfaceTypeSafeUnion& myUnion, const hidl_string& d,
195 setInterfaceD_cb _hidl_cb) {
195 LOG(INFO) << "SERVER(SafeUnion) setInterfaceD(myUnion, " << toString(d) << ")"; 196 LOG(INFO) << "SERVER(SafeUnion) setInterfaceD(myUnion, " << toString(d) << ")";
196 197
197 InterfaceTypeSafeUnion myNewUnion = myUnion; 198 InterfaceTypeSafeUnion myNewUnion = myUnion;
@@ -201,7 +202,8 @@ Return<void> SafeUnion::setInterfaceD(const ::android::hardware::tests::safeunio
201 return Void(); 202 return Void();
202} 203}
203 204
204Return<void> SafeUnion::setInterfaceE(const ::android::hardware::tests::safeunion::V1_0::ISafeUnion::InterfaceTypeSafeUnion& myUnion, const hidl_vec<hidl_string>& e, setInterfaceE_cb _hidl_cb) { 205Return<void> SafeUnion::setInterfaceE(const InterfaceTypeSafeUnion& myUnion,
206 const hidl_vec<hidl_string>& e, setInterfaceE_cb _hidl_cb) {
205 LOG(INFO) << "SERVER(SafeUnion) setInterfaceE(myUnion, " << toString(e) << ")"; 207 LOG(INFO) << "SERVER(SafeUnion) setInterfaceE(myUnion, " << toString(e) << ")";
206 208
207 InterfaceTypeSafeUnion myNewUnion = myUnion; 209 InterfaceTypeSafeUnion myNewUnion = myUnion;
@@ -211,6 +213,70 @@ Return<void> SafeUnion::setInterfaceE(const ::android::hardware::tests::safeunio
211 return Void(); 213 return Void();
212} 214}
213 215
216Return<void> SafeUnion::setInterfaceF(const InterfaceTypeSafeUnion& myUnion, const hidl_handle& f,
217 setInterfaceF_cb _hidl_cb) {
218 LOG(INFO) << "SERVER(SafeUnion) setInterfaceF(myUnion, " << toString(f) << ")";
219
220 InterfaceTypeSafeUnion myNewUnion = myUnion;
221 myNewUnion.f(f);
222
223 _hidl_cb(myNewUnion);
224 return Void();
225}
226
227Return<void> SafeUnion::setInterfaceG(const InterfaceTypeSafeUnion& myUnion,
228 const hidl_vec<hidl_handle>& g, setInterfaceG_cb _hidl_cb) {
229 LOG(INFO) << "SERVER(SafeUnion) setInterfaceG(myUnion, " << toString(g) << ")";
230
231 InterfaceTypeSafeUnion myNewUnion = myUnion;
232 myNewUnion.g(g);
233
234 _hidl_cb(myNewUnion);
235 return Void();
236}
237
238Return<void> SafeUnion::newHandleTypeSafeUnion(newHandleTypeSafeUnion_cb _hidl_cb) {
239 LOG(INFO) << "SERVER(SafeUnion) newHandleTypeSafeUnion()";
240
241 HandleTypeSafeUnion ret;
242 _hidl_cb(ret);
243 return Void();
244}
245
246Return<void> SafeUnion::setHandleA(
247 const ::android::hardware::tests::safeunion::V1_0::ISafeUnion::HandleTypeSafeUnion& myUnion,
248 const hidl_handle& a, setHandleA_cb _hidl_cb) {
249 LOG(INFO) << "SERVER(SafeUnion) setHandleA(myUnion, " << toString(a) << ")";
250
251 HandleTypeSafeUnion myNewUnion = myUnion;
252 myNewUnion.a(a);
253
254 _hidl_cb(myNewUnion);
255 return Void();
256}
257
258Return<void> SafeUnion::setHandleB(const HandleTypeSafeUnion& myUnion,
259 const hidl_array<hidl_handle, 5>& b, setHandleB_cb _hidl_cb) {
260 LOG(INFO) << "SERVER(SafeUnion) setHandleB(myUnion, " << toString(b) << ")";
261
262 HandleTypeSafeUnion myNewUnion = myUnion;
263 myNewUnion.b(b);
264
265 _hidl_cb(myNewUnion);
266 return Void();
267}
268
269Return<void> SafeUnion::setHandleC(const HandleTypeSafeUnion& myUnion,
270 const hidl_vec<hidl_handle>& c, setHandleC_cb _hidl_cb) {
271 LOG(INFO) << "SERVER(SafeUnion) setHandleC(myUnion, " << toString(c) << ")";
272
273 HandleTypeSafeUnion myNewUnion = myUnion;
274 myNewUnion.c(c);
275
276 _hidl_cb(myNewUnion);
277 return Void();
278}
279
214ISafeUnion* HIDL_FETCH_ISafeUnion(const char* /* name */) { 280ISafeUnion* HIDL_FETCH_ISafeUnion(const char* /* name */) {
215 return new SafeUnion(); 281 return new SafeUnion();
216} 282}
diff --git a/tests/safeunion/1.0/default/SafeUnion.h b/tests/safeunion/1.0/default/SafeUnion.h
index e900fcec..e774e098 100644
--- a/tests/safeunion/1.0/default/SafeUnion.h
+++ b/tests/safeunion/1.0/default/SafeUnion.h
@@ -54,6 +54,18 @@ struct SafeUnion : public ISafeUnion {
54 Return<void> setInterfaceC(const InterfaceTypeSafeUnion& myUnion, const sp<::android::hardware::tests::safeunion::V1_0::IOtherInterface>& c, setInterfaceC_cb _hidl_cb) override; 54 Return<void> setInterfaceC(const InterfaceTypeSafeUnion& myUnion, const sp<::android::hardware::tests::safeunion::V1_0::IOtherInterface>& c, setInterfaceC_cb _hidl_cb) override;
55 Return<void> setInterfaceD(const InterfaceTypeSafeUnion& myUnion, const hidl_string& d, setInterfaceD_cb _hidl_cb) override; 55 Return<void> setInterfaceD(const InterfaceTypeSafeUnion& myUnion, const hidl_string& d, setInterfaceD_cb _hidl_cb) override;
56 Return<void> setInterfaceE(const InterfaceTypeSafeUnion& myUnion, const hidl_vec<hidl_string>& e, setInterfaceE_cb _hidl_cb) override; 56 Return<void> setInterfaceE(const InterfaceTypeSafeUnion& myUnion, const hidl_vec<hidl_string>& e, setInterfaceE_cb _hidl_cb) override;
57 Return<void> setInterfaceF(const InterfaceTypeSafeUnion& myUnion, const hidl_handle& f,
58 setInterfaceF_cb _hidl_cb) override;
59 Return<void> setInterfaceG(const InterfaceTypeSafeUnion& myUnion,
60 const hidl_vec<hidl_handle>& g, setInterfaceG_cb _hidl_cb) override;
61
62 Return<void> newHandleTypeSafeUnion(newHandleTypeSafeUnion_cb _hidl_cb) override;
63 Return<void> setHandleA(const HandleTypeSafeUnion& myUnion, const hidl_handle& a,
64 setHandleA_cb _hidl_cb) override;
65 Return<void> setHandleB(const HandleTypeSafeUnion& myUnion, const hidl_array<hidl_handle, 5>& b,
66 setHandleB_cb _hidl_cb) override;
67 Return<void> setHandleC(const HandleTypeSafeUnion& myUnion, const hidl_vec<hidl_handle>& c,
68 setHandleC_cb _hidl_cb) override;
57}; 69};
58 70
59extern "C" ISafeUnion* HIDL_FETCH_ISafeUnion(const char* name); 71extern "C" ISafeUnion* HIDL_FETCH_ISafeUnion(const char* name);