Merge "Fail WorkSourceTest if reading from parcel failed" into udc-dev
diff --git a/core/tests/coretests/jni/NativeWorkSourceParcelTest.cpp b/core/tests/coretests/jni/NativeWorkSourceParcelTest.cpp
index db1f7bd..187e2c1 100644
--- a/core/tests/coretests/jni/NativeWorkSourceParcelTest.cpp
+++ b/core/tests/coretests/jni/NativeWorkSourceParcelTest.cpp
@@ -77,15 +77,18 @@
Parcel* parcel = nativeGetParcelData(env, wsParcel);
int32_t endMarker;
- // read WorkSource and if no error read end marker
- status_t err = ws.readFromParcel(parcel) ?: parcel->readInt32(&endMarker);
- int32_t dataAvailable = parcel->dataAvail();
-
+ status_t err = ws.readFromParcel(parcel);
if (err != OK) {
- ALOGE("WorkSource readFromParcel failed %d", err);
+ jniThrowException(env, "java/lang/IllegalArgumentException",
+ StringPrintf("WorkSource readFromParcel failed: %d", err).c_str());
}
-
+ err = parcel->readInt32(&endMarker);
+ if (err != OK) {
+ jniThrowException(env, "java/lang/IllegalArgumentException",
+ StringPrintf("Failed to read endMarker: %d", err).c_str());
+ }
// Now we have a native WorkSource object, verify it.
+ int32_t dataAvailable = parcel->dataAvail();
if (dataAvailable > 0) { // not all data read from the parcel
jniThrowException(env, "java/lang/IllegalArgumentException",
StringPrintf("WorkSource contains more data than native read (%d)",