diff --git a/compatibility_matrices/compatibility_matrix.current.xml b/compatibility_matrices/compatibility_matrix.current.xml index a994b230e2..e9df02f420 100644 --- a/compatibility_matrices/compatibility_matrix.current.xml +++ b/compatibility_matrices/compatibility_matrix.current.xml @@ -334,13 +334,6 @@ default - - android.hardware.memtrack - - IMemtrack - default - - android.hardware.memtrack 1.0 diff --git a/memtrack/aidl/Android.bp b/memtrack/aidl/Android.bp deleted file mode 100644 index fe4d01bad1..0000000000 --- a/memtrack/aidl/Android.bp +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright (C) 2020 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. - -aidl_interface { - name: "android.hardware.memtrack", - vendor_available: true, - srcs: ["android/hardware/memtrack/*.aidl"], - stability: "vintf", - backend: { - cpp: { - enabled: false, - }, - java: { - enabled: false, - }, - ndk: { - vndk: { - enabled: true, - }, - }, - }, -} diff --git a/memtrack/aidl/aidl_api/android.hardware.memtrack/current/android/hardware/memtrack/DeviceInfo.aidl b/memtrack/aidl/aidl_api/android.hardware.memtrack/current/android/hardware/memtrack/DeviceInfo.aidl deleted file mode 100644 index 00abff9edc..0000000000 --- a/memtrack/aidl/aidl_api/android.hardware.memtrack/current/android/hardware/memtrack/DeviceInfo.aidl +++ /dev/null @@ -1,23 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // -/////////////////////////////////////////////////////////////////////////////// - -// This file is a snapshot of an AIDL interface (or parcelable). Do not try to -// edit this file. It looks like you are doing that because you have modified -// an AIDL interface in a backward-incompatible way, e.g., deleting a function -// from an interface or a field from a parcelable and it broke the build. That -// breakage is intended. -// -// You must not make a backward incompatible changes to the AIDL files built -// with the aidl_interface module type with versions property set. The module -// type is used to build AIDL files in a way that they can be used across -// independently updatable components of the system. If a device is shipped -// with such a backward incompatible change, it has a high risk of breaking -// later when a module using the interface is updated, e.g., Mainline modules. - -package android.hardware.memtrack; -@VintfStability -parcelable DeviceInfo { - int id; - @utf8InCpp String name; -} diff --git a/memtrack/aidl/aidl_api/android.hardware.memtrack/current/android/hardware/memtrack/IMemtrack.aidl b/memtrack/aidl/aidl_api/android.hardware.memtrack/current/android/hardware/memtrack/IMemtrack.aidl deleted file mode 100644 index 844a1bb3d4..0000000000 --- a/memtrack/aidl/aidl_api/android.hardware.memtrack/current/android/hardware/memtrack/IMemtrack.aidl +++ /dev/null @@ -1,23 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // -/////////////////////////////////////////////////////////////////////////////// - -// This file is a snapshot of an AIDL interface (or parcelable). Do not try to -// edit this file. It looks like you are doing that because you have modified -// an AIDL interface in a backward-incompatible way, e.g., deleting a function -// from an interface or a field from a parcelable and it broke the build. That -// breakage is intended. -// -// You must not make a backward incompatible changes to the AIDL files built -// with the aidl_interface module type with versions property set. The module -// type is used to build AIDL files in a way that they can be used across -// independently updatable components of the system. If a device is shipped -// with such a backward incompatible change, it has a high risk of breaking -// later when a module using the interface is updated, e.g., Mainline modules. - -package android.hardware.memtrack; -@VintfStability -interface IMemtrack { - android.hardware.memtrack.MemtrackRecord[] getMemory(in int pid, in android.hardware.memtrack.MemtrackType type); - android.hardware.memtrack.DeviceInfo[] getGpuDeviceInfo(); -} diff --git a/memtrack/aidl/aidl_api/android.hardware.memtrack/current/android/hardware/memtrack/MemtrackRecord.aidl b/memtrack/aidl/aidl_api/android.hardware.memtrack/current/android/hardware/memtrack/MemtrackRecord.aidl deleted file mode 100644 index 09ecefc6c4..0000000000 --- a/memtrack/aidl/aidl_api/android.hardware.memtrack/current/android/hardware/memtrack/MemtrackRecord.aidl +++ /dev/null @@ -1,32 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // -/////////////////////////////////////////////////////////////////////////////// - -// This file is a snapshot of an AIDL interface (or parcelable). Do not try to -// edit this file. It looks like you are doing that because you have modified -// an AIDL interface in a backward-incompatible way, e.g., deleting a function -// from an interface or a field from a parcelable and it broke the build. That -// breakage is intended. -// -// You must not make a backward incompatible changes to the AIDL files built -// with the aidl_interface module type with versions property set. The module -// type is used to build AIDL files in a way that they can be used across -// independently updatable components of the system. If a device is shipped -// with such a backward incompatible change, it has a high risk of breaking -// later when a module using the interface is updated, e.g., Mainline modules. - -package android.hardware.memtrack; -@VintfStability -parcelable MemtrackRecord { - int flags; - long sizeInBytes; - const int FLAG_SMAPS_ACCOUNTED = 2; - const int FLAG_SMAPS_UNACCOUNTED = 4; - const int FLAG_SHARED = 8; - const int FLAG_SHARED_PSS = 16; - const int FLAG_PRIVATE = 32; - const int FLAG_SYSTEM = 64; - const int FLAG_DEDICATED = 128; - const int FLAG_NONSECURE = 256; - const int FLAG_SECURE = 512; -} diff --git a/memtrack/aidl/aidl_api/android.hardware.memtrack/current/android/hardware/memtrack/MemtrackType.aidl b/memtrack/aidl/aidl_api/android.hardware.memtrack/current/android/hardware/memtrack/MemtrackType.aidl deleted file mode 100644 index 7f3f93904f..0000000000 --- a/memtrack/aidl/aidl_api/android.hardware.memtrack/current/android/hardware/memtrack/MemtrackType.aidl +++ /dev/null @@ -1,27 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // -/////////////////////////////////////////////////////////////////////////////// - -// This file is a snapshot of an AIDL interface (or parcelable). Do not try to -// edit this file. It looks like you are doing that because you have modified -// an AIDL interface in a backward-incompatible way, e.g., deleting a function -// from an interface or a field from a parcelable and it broke the build. That -// breakage is intended. -// -// You must not make a backward incompatible changes to the AIDL files built -// with the aidl_interface module type with versions property set. The module -// type is used to build AIDL files in a way that they can be used across -// independently updatable components of the system. If a device is shipped -// with such a backward incompatible change, it has a high risk of breaking -// later when a module using the interface is updated, e.g., Mainline modules. - -package android.hardware.memtrack; -@Backing(type="int") @VintfStability -enum MemtrackType { - OTHER = 0, - GL = 1, - GRAPHICS = 2, - MULTIMEDIA = 3, - CAMERA = 4, - NUM_TYPES = 5, -} diff --git a/memtrack/aidl/android/hardware/memtrack/DeviceInfo.aidl b/memtrack/aidl/android/hardware/memtrack/DeviceInfo.aidl deleted file mode 100644 index aec11e988b..0000000000 --- a/memtrack/aidl/android/hardware/memtrack/DeviceInfo.aidl +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (C) 2020 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. - */ - -package android.hardware.memtrack; - -/* - * A vector of DeviceInfo is returned by the function getGpuDeviceInfo(). - * Each entry consists of the device name and the device id. - * See getGpuDeviceInfo() for further details. - */ -@VintfStability -parcelable DeviceInfo { - int id; - @utf8InCpp String name; -} - diff --git a/memtrack/aidl/android/hardware/memtrack/IMemtrack.aidl b/memtrack/aidl/android/hardware/memtrack/IMemtrack.aidl deleted file mode 100644 index 33c6956d8c..0000000000 --- a/memtrack/aidl/android/hardware/memtrack/IMemtrack.aidl +++ /dev/null @@ -1,82 +0,0 @@ -/* - * Copyright (C) 2020 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. - */ - -package android.hardware.memtrack; - -import android.hardware.memtrack.DeviceInfo; -import android.hardware.memtrack.MemtrackRecord; -import android.hardware.memtrack.MemtrackType; - -/** - * The Memory Tracker HAL is designed to return information about - * device-specific memory usage. - * The primary goal is to be able to track memory that is not - * trackable in any other way, for example texture memory that is allocated by - * a process, but not mapped in to that process's address space. - * A secondary goal is to be able to categorize memory used by a process into - * GL, graphics, etc. All memory sizes must be in real memory usage, - * accounting for stride, bit depth, rounding up to page size, etc. - * - * Constructor for the interface should be used to perform memtrack management - * setup actions and is called once before any calls to getMemory(). - */ -@VintfStability -interface IMemtrack { - /** - * getMemory() populates MemtrackRecord vector with the sizes of memory - * plus associated flags for that memory. - * - * A process collecting memory statistics will call getMemory for each - * combination of pid and memory type. For each memory type that it - * recognizes, the HAL must fill out an array of memtrack_record - * structures breaking down the statistics of that memory type as much as - * possible. For example, - * getMemory(, GL) might return: - * { { 4096, ACCOUNTED | PRIVATE | SYSTEM }, - * { 40960, UNACCOUNTED | PRIVATE | SYSTEM }, - * { 8192, ACCOUNTED | PRIVATE | DEDICATED }, - * { 8192, UNACCOUNTED | PRIVATE | DEDICATED } } - * If the HAL cannot differentiate between SYSTEM and DEDICATED memory, it - * could return: - * { { 12288, ACCOUNTED | PRIVATE }, - * { 49152, UNACCOUNTED | PRIVATE } } - * - * Memory must not overlap between types. For example, a graphics buffer - * that has been mapped into the GPU as a surface must show up when - * GRAPHICS is requested and not when GL - * is requested. - * - * @param pid process for which memory information is requested - * @param type memory type that information is being requested about - * @return vector of MemtrackRecord containing memory information - */ - MemtrackRecord[] getMemory(in int pid, in MemtrackType type); - - /** - * getGpuDeviceInfo() populates DeviceInfo with the ID and name - * of each GPU device. - * - * For example, getGpuDeviceInfor, might return: - * { { 0, }, - * { 1, } } - * - * This information is used to identify GPU devices for GPU specific - * memory accounting (e.g. DMA buffer usage). - * - * @return vector of DeviceInfo populated for all GPU devices. - */ - DeviceInfo[] getGpuDeviceInfo(); -} diff --git a/memtrack/aidl/android/hardware/memtrack/MemtrackRecord.aidl b/memtrack/aidl/android/hardware/memtrack/MemtrackRecord.aidl deleted file mode 100644 index 95254e9399..0000000000 --- a/memtrack/aidl/android/hardware/memtrack/MemtrackRecord.aidl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2020 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. - */ - -package android.hardware.memtrack; - -/* - * A vector of MemtrackRecord is returned by the function getMemory(). - * Each record consists of the size of the memory used by the process and - * flags indicate all the MemtrackFlags that are valid for this record. - * see getMemory() comments for further details. - */ -@VintfStability -parcelable MemtrackRecord { - /* Memtrack Flags */ - const int FLAG_SMAPS_ACCOUNTED = 1 << 1; - const int FLAG_SMAPS_UNACCOUNTED = 1 << 2; - const int FLAG_SHARED = 1 << 3; - const int FLAG_SHARED_PSS = 1 << 4; - const int FLAG_PRIVATE = 1 << 5; - const int FLAG_SYSTEM = 1 << 6; - const int FLAG_DEDICATED = 1 << 7; - const int FLAG_NONSECURE = 1 << 8; - const int FLAG_SECURE = 1 << 9; - - /* Bitfield indicating all flags that are valid for this record */ - int flags; - - long sizeInBytes; -} - diff --git a/memtrack/aidl/android/hardware/memtrack/MemtrackType.aidl b/memtrack/aidl/android/hardware/memtrack/MemtrackType.aidl deleted file mode 100644 index 715c6bff43..0000000000 --- a/memtrack/aidl/android/hardware/memtrack/MemtrackType.aidl +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (C) 2020 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. - */ - -package android.hardware.memtrack; - -/** - * Tags which define the usage of the memory buffers. - */ -@VintfStability -@Backing(type="int") -enum MemtrackType { - OTHER = 0, - GL = 1, - GRAPHICS = 2, - MULTIMEDIA = 3, - CAMERA = 4, - NUM_TYPES, -} diff --git a/memtrack/aidl/default/Android.bp b/memtrack/aidl/default/Android.bp deleted file mode 100644 index 52f88c8097..0000000000 --- a/memtrack/aidl/default/Android.bp +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (C) 2020 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. - -cc_binary { - name: "android.hardware.memtrack-service.example", - relative_install_path: "hw", - init_rc: ["memtrack-default.rc"], - vintf_fragments: ["memtrack-default.xml"], - vendor: true, - shared_libs: [ - "libbase", - "libbinder_ndk", - "android.hardware.memtrack-ndk_platform", - ], - srcs: [ - "main.cpp", - "Memtrack.cpp", - ], -} diff --git a/memtrack/aidl/default/Memtrack.cpp b/memtrack/aidl/default/Memtrack.cpp deleted file mode 100644 index 7361719002..0000000000 --- a/memtrack/aidl/default/Memtrack.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2020 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. - */ - -#include "Memtrack.h" - -namespace aidl { -namespace android { -namespace hardware { -namespace memtrack { - -ndk::ScopedAStatus Memtrack::getMemory(int pid, MemtrackType type, - std::vector* _aidl_return) { - if (pid < 0) { - return ndk::ScopedAStatus(AStatus_fromExceptionCode(EX_ILLEGAL_ARGUMENT)); - } - if (type < MemtrackType::OTHER || type >= MemtrackType::NUM_TYPES) { - return ndk::ScopedAStatus(AStatus_fromExceptionCode(EX_UNSUPPORTED_OPERATION)); - } - _aidl_return->clear(); - return ndk::ScopedAStatus::ok(); -} - -ndk::ScopedAStatus Memtrack::getGpuDeviceInfo(std::vector* _aidl_return) { - _aidl_return->clear(); - return ndk::ScopedAStatus::ok(); -} - -} // namespace memtrack -} // namespace hardware -} // namespace android -} // namespace aidl diff --git a/memtrack/aidl/default/Memtrack.h b/memtrack/aidl/default/Memtrack.h deleted file mode 100644 index f2ef60e005..0000000000 --- a/memtrack/aidl/default/Memtrack.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (C) 2020 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. - */ - -#pragma once - -#include -#include -#include -#include - -namespace aidl { -namespace android { -namespace hardware { -namespace memtrack { - -class Memtrack : public BnMemtrack { - ndk::ScopedAStatus getMemory(int pid, MemtrackType type, - std::vector* _aidl_return) override; - - ndk::ScopedAStatus getGpuDeviceInfo(std::vector* _aidl_return) override; -}; - -} // namespace memtrack -} // namespace hardware -} // namespace android -} // namespace aidl diff --git a/memtrack/aidl/default/main.cpp b/memtrack/aidl/default/main.cpp deleted file mode 100644 index d063d2aeda..0000000000 --- a/memtrack/aidl/default/main.cpp +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright (C) 2020 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. - */ - -#include "Memtrack.h" - -#include -#include -#include - -using aidl::android::hardware::memtrack::Memtrack; - -int main() { - ABinderProcess_setThreadPoolMaxThreadCount(0); - std::shared_ptr memtrack = ndk::SharedRefBase::make(); - - const std::string instance = std::string() + Memtrack::descriptor + "/default"; - binder_status_t status = - AServiceManager_addService(memtrack->asBinder().get(), instance.c_str()); - CHECK(status == STATUS_OK); - - ABinderProcess_joinThreadPool(); - return EXIT_FAILURE; // Unreachable -} diff --git a/memtrack/aidl/default/memtrack-default.rc b/memtrack/aidl/default/memtrack-default.rc deleted file mode 100644 index 1725cd00f7..0000000000 --- a/memtrack/aidl/default/memtrack-default.rc +++ /dev/null @@ -1,4 +0,0 @@ -service vendor.memtrack-default /vendor/bin/hw/android.hardware.memtrack-service.example - class hal - user nobody - group system diff --git a/memtrack/aidl/default/memtrack-default.xml b/memtrack/aidl/default/memtrack-default.xml deleted file mode 100644 index 3e3e0f6c1c..0000000000 --- a/memtrack/aidl/default/memtrack-default.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - android.hardware.memtrack - IMemtrack/default - - - diff --git a/memtrack/aidl/vts/Android.bp b/memtrack/aidl/vts/Android.bp deleted file mode 100644 index ea36677237..0000000000 --- a/memtrack/aidl/vts/Android.bp +++ /dev/null @@ -1,17 +0,0 @@ -cc_test { - name: "VtsHalMemtrackTargetTest", - defaults: [ - "VtsHalTargetTestDefaults", - "use_libaidlvintf_gtest_helper_static", - ], - srcs: ["VtsHalMemtrackTargetTest.cpp"], - shared_libs: [ - "libbinder_ndk", - ], - static_libs: [ - "android.hardware.memtrack-unstable-ndk_platform", - ], - test_suites: [ - "vts-core", - ], -} diff --git a/memtrack/aidl/vts/VtsHalMemtrackTargetTest.cpp b/memtrack/aidl/vts/VtsHalMemtrackTargetTest.cpp deleted file mode 100644 index a3bd29318d..0000000000 --- a/memtrack/aidl/vts/VtsHalMemtrackTargetTest.cpp +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (C) 2020 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. - */ -#include -#include - -#include -#include -#include -#include -#include - -using aidl::android::hardware::memtrack::DeviceInfo; -using aidl::android::hardware::memtrack::IMemtrack; -using aidl::android::hardware::memtrack::MemtrackRecord; -using aidl::android::hardware::memtrack::MemtrackType; - -class MemtrackAidlTest : public testing::TestWithParam { - public: - virtual void SetUp() override { - const auto instance = std::string() + IMemtrack::descriptor + "/default"; - auto memtrackBinder = ndk::SpAIBinder(AServiceManager_getService(instance.c_str())); - memtrack_ = IMemtrack::fromBinder(memtrackBinder); - ASSERT_NE(memtrack_, nullptr); - } - - std::shared_ptr memtrack_; -}; - -TEST_P(MemtrackAidlTest, GetMemoryInvalidPid) { - int pid = -1; - MemtrackType type = MemtrackType::OTHER; - std::vector records; - - auto status = memtrack_->getMemory(pid, type, &records); - - EXPECT_EQ(status.getExceptionCode(), EX_ILLEGAL_ARGUMENT); -} - -TEST_P(MemtrackAidlTest, GetMemoryInvalidType) { - int pid = 1; - MemtrackType type = MemtrackType::NUM_TYPES; - std::vector records; - - auto status = memtrack_->getMemory(pid, type, &records); - - EXPECT_EQ(status.getExceptionCode(), EX_UNSUPPORTED_OPERATION); -} - -TEST_P(MemtrackAidlTest, GetMemory) { - int pid = 1; - MemtrackType type = MemtrackType::OTHER; - std::vector records; - - auto status = memtrack_->getMemory(pid, type, &records); - - EXPECT_TRUE(status.isOk()); -} - -TEST_P(MemtrackAidlTest, GetGpuDeviceInfo) { - std::vector device_info; - - auto status = memtrack_->getGpuDeviceInfo(&device_info); - - EXPECT_TRUE(status.isOk()); -} - -GTEST_ALLOW_UNINSTANTIATED_PARAMETERIZED_TEST(MemtrackAidlTest); -INSTANTIATE_TEST_SUITE_P(PerInstance, MemtrackAidlTest, - testing::ValuesIn(android::getAidlHalInstanceNames(IMemtrack::descriptor)), - android::PrintInstanceNameToString); - -int main(int argc, char** argv) { - ::testing::InitGoogleTest(&argc, argv); - ABinderProcess_setThreadPoolMaxThreadCount(1); - ABinderProcess_startThreadPool(); - return RUN_ALL_TESTS(); -}