1 //===-- AdbClientTest.cpp -------------------------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8
9 #include "gtest/gtest.h"
10 #include "Plugins/Platform/Android/AdbClient.h"
11 #include <cstdlib>
12
set_env(const char * var,const char * value)13 static void set_env(const char *var, const char *value) {
14 #ifdef _WIN32
15 _putenv_s(var, value);
16 #else
17 setenv(var, value, true);
18 #endif
19 }
20
21 using namespace lldb;
22 using namespace lldb_private;
23
24 namespace lldb_private {
25 namespace platform_android {
26
27 class AdbClientTest : public ::testing::Test {
28 public:
SetUp()29 void SetUp() override { set_env("ANDROID_SERIAL", ""); }
30
TearDown()31 void TearDown() override { set_env("ANDROID_SERIAL", ""); }
32 };
33
TEST(AdbClientTest,CreateByDeviceId)34 TEST(AdbClientTest, CreateByDeviceId) {
35 AdbClient adb;
36 Status error = AdbClient::CreateByDeviceID("device1", adb);
37 EXPECT_TRUE(error.Success());
38 EXPECT_EQ("device1", adb.GetDeviceID());
39 }
40
TEST(AdbClientTest,CreateByDeviceId_ByEnvVar)41 TEST(AdbClientTest, CreateByDeviceId_ByEnvVar) {
42 set_env("ANDROID_SERIAL", "device2");
43
44 AdbClient adb;
45 Status error = AdbClient::CreateByDeviceID("", adb);
46 EXPECT_TRUE(error.Success());
47 EXPECT_EQ("device2", adb.GetDeviceID());
48 }
49
50 } // end namespace platform_android
51 } // end namespace lldb_private
52