protoutil: Fix EncodedBuffer test
Commit ag/10780537 ("Optimize memory usage in incidentd")
broke the libprotoutil_test since it page aligns the chunk
size but didn't update the tests.
Fix the tests by page aligning TEST_CHUNK_SIZE; and add a
test mapping.
Test: atest -c libprotoutil_test
Bug: 295228590
Change-Id: I85d828a10cc67334751c3c3a451a75c4dbe3eb76
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
This commit is contained in:
@@ -80,6 +80,10 @@ cc_test {
|
||||
"libgmock",
|
||||
],
|
||||
|
||||
test_suites: [
|
||||
"general-tests",
|
||||
],
|
||||
|
||||
proto: {
|
||||
type: "full",
|
||||
},
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2018 The Android Open Source Project
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
-->
|
||||
<configuration description="Config for libprotoutil_test">
|
||||
<target_preparer class="com.android.tradefed.targetprep.PushFilePreparer">
|
||||
<option name="cleanup" value="true" />
|
||||
<option name="push" value="libprotoutil_test->/data/nativetest/libprotoutil_test" />
|
||||
</target_preparer>
|
||||
<option name="test-suite-tag" value="apct" />
|
||||
<test class="com.android.tradefed.testtype.GTest" >
|
||||
<option name="native-test-device-path" value="/data/nativetest" />
|
||||
<option name="module-name" value="libprotoutil_test" />
|
||||
</test>
|
||||
</configuration>
|
||||
12
libs/protoutil/TEST_MAPPING
Normal file
12
libs/protoutil/TEST_MAPPING
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"presubmit": [
|
||||
{
|
||||
"name": "libprotoutil_test"
|
||||
}
|
||||
],
|
||||
"hwasan-postsubmit": [
|
||||
{
|
||||
"name": "libprotoutil_test"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -18,7 +18,8 @@
|
||||
using namespace android::util;
|
||||
using android::sp;
|
||||
|
||||
constexpr size_t TEST_CHUNK_SIZE = 16UL;
|
||||
constexpr size_t __TEST_CHUNK_SIZE = 16UL;
|
||||
constexpr size_t TEST_CHUNK_SIZE = (__TEST_CHUNK_SIZE + (PAGE_SIZE - 1)) & ~(PAGE_SIZE - 1);
|
||||
constexpr size_t TEST_CHUNK_HALF_SIZE = TEST_CHUNK_SIZE / 2;
|
||||
constexpr size_t TEST_CHUNK_3X_SIZE = 3 * TEST_CHUNK_SIZE;
|
||||
|
||||
@@ -34,13 +35,13 @@ TEST(EncodedBufferTest, WriteSimple) {
|
||||
expectPointer(buffer->wp(), 0);
|
||||
EXPECT_EQ(buffer->currentToWrite(), TEST_CHUNK_SIZE);
|
||||
for (size_t i = 0; i < TEST_CHUNK_HALF_SIZE; i++) {
|
||||
buffer->writeRawByte(50 + i);
|
||||
buffer->writeRawByte(static_cast<uint8_t>(50 + i));
|
||||
}
|
||||
EXPECT_EQ(buffer->size(), TEST_CHUNK_HALF_SIZE);
|
||||
expectPointer(buffer->wp(), TEST_CHUNK_HALF_SIZE);
|
||||
EXPECT_EQ(buffer->currentToWrite(), TEST_CHUNK_HALF_SIZE);
|
||||
for (size_t i = 0; i < TEST_CHUNK_SIZE; i++) {
|
||||
buffer->writeRawByte(80 + i);
|
||||
buffer->writeRawByte(static_cast<uint8_t>(80 + i));
|
||||
}
|
||||
EXPECT_EQ(buffer->size(), TEST_CHUNK_SIZE + TEST_CHUNK_HALF_SIZE);
|
||||
expectPointer(buffer->wp(), TEST_CHUNK_SIZE + TEST_CHUNK_HALF_SIZE);
|
||||
@@ -49,10 +50,10 @@ TEST(EncodedBufferTest, WriteSimple) {
|
||||
// verifies the buffer's data
|
||||
expectPointer(buffer->ep(), 0);
|
||||
for (size_t i = 0; i < TEST_CHUNK_HALF_SIZE; i++) {
|
||||
EXPECT_EQ(buffer->readRawByte(), 50 + i);
|
||||
EXPECT_EQ(buffer->readRawByte(), static_cast<uint8_t>(50 + i));
|
||||
}
|
||||
for (size_t i = 0; i < TEST_CHUNK_SIZE; i++) {
|
||||
EXPECT_EQ(buffer->readRawByte(), 80 + i);
|
||||
EXPECT_EQ(buffer->readRawByte(), static_cast<uint8_t>(80 + i));
|
||||
}
|
||||
|
||||
// clears the buffer
|
||||
|
||||
Reference in New Issue
Block a user