| // Copyright 2016 The Android Open Source Project |
| // |
| // This software is licensed under the terms of the GNU General Public |
| // License version 2, as published by the Free Software Foundation, and |
| // may be copied, distributed, and modified under those terms. |
| // |
| // This program is distributed in the hope that it will be useful, |
| // but WITHOUT ANY WARRANTY; without even the implied warranty of |
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| // GNU General Public License for more details. |
| |
| #include "android/emulation/AdbDebugPipe.h" |
| |
| #include "android/base/StringView.h" |
| #include "android/base/testing/TestMemoryOutputStream.h" |
| #include "android/emulation/testing/TestAndroidPipeDevice.h" |
| |
| #include <gtest/gtest.h> |
| |
| namespace android { |
| namespace emulation { |
| |
| using android::base::StringView; |
| |
| TEST(AdbDebugPipe, noOutput) { |
| TestAndroidPipeDevice testDevice; |
| AndroidPipe::Service::add(new AdbDebugPipe::Service(nullptr)); |
| |
| auto guest = TestAndroidPipeDevice::Guest::create(); |
| EXPECT_EQ(0, guest->connect("qemud:adb-debug")); |
| constexpr StringView kMessage = "Hello debug world!"; |
| EXPECT_EQ(kMessage.size(), guest->write(kMessage.c_str(), kMessage.size())); |
| } |
| |
| TEST(AdbDebugPipe, withOutput) { |
| TestAndroidPipeDevice testDevice; |
| auto outStream = new android::base::TestMemoryOutputStream(); |
| AndroidPipe::Service::add(new AdbDebugPipe::Service(outStream)); |
| |
| auto guest = TestAndroidPipeDevice::Guest::create(); |
| EXPECT_EQ(0, guest->connect("qemud:adb-debug")); |
| constexpr StringView kMessage = "Hello debug world!"; |
| EXPECT_EQ(kMessage.size(), guest->write(kMessage.c_str(), kMessage.size())); |
| |
| EXPECT_EQ(kMessage, outStream->view()); |
| } |
| |
| } // namespace emulation |
| } // namespace android |