summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2017-10-06 08:16:13 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2017-10-06 08:16:13 +0000
commit20cfc76d65b887d9f34917c6a506b6e9cc834d71 (patch)
treed63a44ef911107828bc881848eea8f631bc61a24
parent6e5a94db8d7dc577a135cc81d80e0bdf39d42780 (diff)
parent9f9c941ff397771936ee8cd91be4909057ae372e (diff)
downloadwifilogd-20cfc76d65b887d9f34917c6a506b6e9cc834d71.tar.gz
Snap for 4380820 from 9f9c941ff397771936ee8cd91be4909057ae372e to pi-releaseandroid-wear-9.0.0_r9android-wear-9.0.0_r8android-wear-9.0.0_r7android-wear-9.0.0_r6android-wear-9.0.0_r5android-wear-9.0.0_r4android-wear-9.0.0_r34android-wear-9.0.0_r33android-wear-9.0.0_r32android-wear-9.0.0_r31android-wear-9.0.0_r30android-wear-9.0.0_r3android-wear-9.0.0_r29android-wear-9.0.0_r28android-wear-9.0.0_r27android-wear-9.0.0_r26android-wear-9.0.0_r25android-wear-9.0.0_r24android-wear-9.0.0_r23android-wear-9.0.0_r22android-wear-9.0.0_r21android-wear-9.0.0_r20android-wear-9.0.0_r2android-wear-9.0.0_r19android-wear-9.0.0_r18android-wear-9.0.0_r17android-wear-9.0.0_r16android-wear-9.0.0_r15android-wear-9.0.0_r14android-wear-9.0.0_r13android-wear-9.0.0_r12android-wear-9.0.0_r11android-wear-9.0.0_r10android-wear-9.0.0_r1android-vts-9.0_r9android-vts-9.0_r8android-vts-9.0_r7android-vts-9.0_r6android-vts-9.0_r5android-vts-9.0_r4android-vts-9.0_r19android-vts-9.0_r18android-vts-9.0_r17android-vts-9.0_r16android-vts-9.0_r15android-vts-9.0_r14android-vts-9.0_r13android-vts-9.0_r12android-vts-9.0_r11android-vts-9.0_r10android-security-9.0.0_r76android-security-9.0.0_r75android-security-9.0.0_r74android-security-9.0.0_r73android-security-9.0.0_r72android-security-9.0.0_r71android-security-9.0.0_r70android-security-9.0.0_r69android-security-9.0.0_r68android-security-9.0.0_r67android-security-9.0.0_r66android-security-9.0.0_r65android-security-9.0.0_r64android-security-9.0.0_r63android-security-9.0.0_r62android-cts-9.0_r9android-cts-9.0_r8android-cts-9.0_r7android-cts-9.0_r6android-cts-9.0_r5android-cts-9.0_r4android-cts-9.0_r3android-cts-9.0_r20android-cts-9.0_r2android-cts-9.0_r19android-cts-9.0_r18android-cts-9.0_r17android-cts-9.0_r16android-cts-9.0_r15android-cts-9.0_r14android-cts-9.0_r13android-cts-9.0_r12android-cts-9.0_r11android-cts-9.0_r10android-cts-9.0_r1android-9.0.0_r9android-9.0.0_r8android-9.0.0_r7android-9.0.0_r61android-9.0.0_r60android-9.0.0_r6android-9.0.0_r59android-9.0.0_r58android-9.0.0_r57android-9.0.0_r56android-9.0.0_r55android-9.0.0_r54android-9.0.0_r53android-9.0.0_r52android-9.0.0_r51android-9.0.0_r50android-9.0.0_r5android-9.0.0_r49android-9.0.0_r48android-9.0.0_r3android-9.0.0_r2android-9.0.0_r18android-9.0.0_r17android-9.0.0_r10android-9.0.0_r1security-pi-releasepie-vts-releasepie-security-releasepie-s2-releasepie-release-2pie-releasepie-r2-s2-releasepie-r2-s1-releasepie-r2-releasepie-platform-releasepie-gsipie-cuttlefish-testingpie-cts-release
Change-Id: I6ffdbd49c6a5703595c783c290515f33665924b9
-rw-r--r--byte_buffer.h2
-rw-r--r--command_processor.cpp4
-rwxr-xr-xruntests.sh14
-rw-r--r--tests/command_processor_unittest.cpp16
-rw-r--r--tests/protocol_unittest.cpp21
5 files changed, 45 insertions, 12 deletions
diff --git a/byte_buffer.h b/byte_buffer.h
index 2fdff62..1d79b6d 100644
--- a/byte_buffer.h
+++ b/byte_buffer.h
@@ -32,7 +32,7 @@ namespace wifilogd {
// memory allocation.
//
// Usage could be as follows:
-// const auto& buffer = ByteBuffer<1024>()
+// const auto buffer = ByteBuffer<1024>()
// .AppendOrDie(header.data(), header.size())
// .AppendOrDie(body.data(), body.size());
// write(fd, buffer.data(), buffer.size());
diff --git a/command_processor.cpp b/command_processor.cpp
index b969bb4..ea223af 100644
--- a/command_processor.cpp
+++ b/command_processor.cpp
@@ -186,12 +186,12 @@ bool CommandProcessor::CopyCommandToLog(const void* command_buffer,
}
CHECK(current_log_buffer_.CanFitNow(total_size));
- const auto& tstamp_header =
+ const auto tstamp_header =
TimestampHeader()
.set_since_boot_awake_only(os_->GetTimestamp(CLOCK_MONOTONIC))
.set_since_boot_with_sleep(os_->GetTimestamp(CLOCK_BOOTTIME))
.set_since_epoch(os_->GetTimestamp(CLOCK_REALTIME));
- const auto& message_buf =
+ const auto message_buf =
ByteBuffer<sizeof(TimestampHeader) + protocol::kMaxMessageSize>()
.AppendOrDie(&tstamp_header, sizeof(tstamp_header))
.AppendOrDie(command_buffer, command_len);
diff --git a/runtests.sh b/runtests.sh
index 9d6701a..7fae183 100755
--- a/runtests.sh
+++ b/runtests.sh
@@ -30,9 +30,21 @@ make -j32 -C $ANDROID_BUILD_TOP -f build/core/main.mk \
set -x # print commands
+adb wait-for-device
adb root
adb wait-for-device
-adb remount
+
+# 'disable-verity' will appear in 'adb remount' output if
+# dm-verity is enabled and needs to be disabled.
+if adb remount | grep 'disable-verity'; then
+ adb disable-verity
+ adb reboot
+ adb wait-for-device
+ adb root
+ adb wait-for-device
+ adb remount
+fi
+
adb sync
adb shell /data/nativetest/wifilogd_unit_test/wifilogd_unit_test
diff --git a/tests/command_processor_unittest.cpp b/tests/command_processor_unittest.cpp
index ede5cb0..50b6e78 100644
--- a/tests/command_processor_unittest.cpp
+++ b/tests/command_processor_unittest.cpp
@@ -88,7 +88,7 @@ class CommandProcessorTest : public ::testing::Test {
tag.length() + ascii_message_tag_len_adjustment;
const size_t adjusted_data_len =
message.length() + ascii_message_data_len_adjustment;
- const auto& ascii_message_header =
+ const auto ascii_message_header =
protocol::AsciiMessage()
.set_tag_len(SAFELY_CLAMP(
adjusted_tag_len, uint8_t, 0,
@@ -103,7 +103,7 @@ class CommandProcessorTest : public ::testing::Test {
const size_t payload_len = sizeof(ascii_message_header) + tag.length() +
message.length() +
command_payload_len_adjustment;
- const auto& command =
+ const auto command =
protocol::Command()
.set_opcode(protocol::Opcode::kWriteAsciiMessage)
.set_payload_len(SAFELY_CLAMP(
@@ -143,10 +143,10 @@ class CommandProcessorTest : public ::testing::Test {
}
bool SendDumpBuffers() {
- const auto& command = protocol::Command()
- .set_opcode(protocol::Opcode::kDumpBuffers)
- .set_payload_len(0);
- const auto& buf = CommandBuffer().AppendOrDie(&command, sizeof(command));
+ const auto command = protocol::Command()
+ .set_opcode(protocol::Opcode::kDumpBuffers)
+ .set_payload_len(0);
+ const auto buf = CommandBuffer().AppendOrDie(&command, sizeof(command));
constexpr int kFakeFd = 100;
return command_processor_->ProcessCommand(buf.data(), buf.size(), kFakeFd);
}
@@ -220,12 +220,12 @@ TEST_F(CommandProcessorTest, ProcessCommandInvalidOpcodeReturnsFailure) {
using opcode_integral_t = std::underlying_type<opcode_enum_t>::type;
constexpr auto invalid_opcode = GetMaxVal<opcode_integral_t>();
- const auto& command =
+ const auto command =
protocol::Command()
.set_opcode(local_utils::CopyFromBufferOrDie<opcode_enum_t>(
&invalid_opcode, sizeof(invalid_opcode)))
.set_payload_len(0);
- const auto& buf = CommandBuffer().AppendOrDie(&command, sizeof(command));
+ const auto buf = CommandBuffer().AppendOrDie(&command, sizeof(command));
constexpr int kFakeFd = 100;
EXPECT_FALSE(
command_processor_->ProcessCommand(buf.data(), buf.size(), kFakeFd));
diff --git a/tests/protocol_unittest.cpp b/tests/protocol_unittest.cpp
index 76de58b..abbd86b 100644
--- a/tests/protocol_unittest.cpp
+++ b/tests/protocol_unittest.cpp
@@ -33,6 +33,27 @@ namespace wifilogd {
// 2. We need to maintain compatibility with older clients talking to
// newer versions of wifilogd.
+TEST(ProtocolTest, AsciiMessageChainingWorks) {
+ using protocol::AsciiMessage;
+ uint8_t tagLen = 3;
+ uint16_t dataLen = 7;
+ const auto ascii_message_header =
+ AsciiMessage().set_tag_len(tagLen).set_data_len(dataLen);
+ EXPECT_EQ(tagLen, ascii_message_header.tag_len);
+ EXPECT_EQ(dataLen, ascii_message_header.data_len);
+}
+
+TEST(ProtocolTest, AsciiMessageNonChainingWorks) {
+ using protocol::AsciiMessage;
+ uint8_t tagLen = 3;
+ uint16_t dataLen = 7;
+ AsciiMessage ascii_message_header = AsciiMessage();
+ ascii_message_header.set_tag_len(tagLen);
+ ascii_message_header.set_data_len(dataLen);
+ EXPECT_EQ(tagLen, ascii_message_header.tag_len);
+ EXPECT_EQ(dataLen, ascii_message_header.data_len);
+}
+
TEST(ProtocolTest, AsciiMessageLayoutIsUnchanged) {
using protocol::AsciiMessage;
ASSERT_TRUE(std::is_standard_layout<AsciiMessage>::value);