xref: /llvm-project/lldb/unittests/Platform/Android/AdbClientTest.cpp (revision 7ff2de4f0c60c5d13880440e85ef8edc78482a2f)
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