Skip ab/6749736 in stage.
Merged-In: I7c1114cb96aa1ab72bafda67562e9062529e6a5a
Change-Id: I7e993bb6deee97aa29b261332553e39a16072841
diff --git a/libmeminfo_test.cpp b/libmeminfo_test.cpp
index e4c0d13..e3870ca 100644
--- a/libmeminfo_test.cpp
+++ b/libmeminfo_test.cpp
@@ -447,8 +447,13 @@
auto vmas = proc_mem.Smaps(path);
ASSERT_FALSE(vmas.empty());
+#ifndef __x86_64__
// We should get a total of 6 vmas
ASSERT_EQ(vmas.size(), 6);
+#else
+ // We should get a total of 5 vmas ([vsyscall] is excluded)
+ ASSERT_EQ(vmas.size(), 5);
+#endif
// Expect values to be equal to what we have in testdata1/smaps_short
// Check for sizes first
@@ -457,7 +462,9 @@
EXPECT_EQ(vmas[2].usage.vss, 16896);
EXPECT_EQ(vmas[3].usage.vss, 260);
EXPECT_EQ(vmas[4].usage.vss, 6060);
+#ifndef __x86_64__
EXPECT_EQ(vmas[5].usage.vss, 4);
+#endif
// Check for names
EXPECT_EQ(vmas[0].name, "[anon:dalvik-zygote-jit-code-cache]");
@@ -467,70 +474,90 @@
<< "Unknown map name " << vmas[2].name;
EXPECT_EQ(vmas[3].name, "/system/priv-app/SettingsProvider/oat/x86_64/SettingsProvider.odex");
EXPECT_EQ(vmas[4].name, "/system/lib64/libhwui.so");
+#ifndef __x86_64__
EXPECT_EQ(vmas[5].name, "[vsyscall]");
+#endif
EXPECT_EQ(vmas[0].usage.rss, 2048);
EXPECT_EQ(vmas[1].usage.rss, 11188);
EXPECT_EQ(vmas[2].usage.rss, 15272);
EXPECT_EQ(vmas[3].usage.rss, 260);
EXPECT_EQ(vmas[4].usage.rss, 4132);
+#ifndef __x86_64__
EXPECT_EQ(vmas[5].usage.rss, 0);
+#endif
EXPECT_EQ(vmas[0].usage.pss, 113);
EXPECT_EQ(vmas[1].usage.pss, 2200);
EXPECT_EQ(vmas[2].usage.pss, 15272);
EXPECT_EQ(vmas[3].usage.pss, 260);
EXPECT_EQ(vmas[4].usage.pss, 1274);
+#ifndef __x86_64__
EXPECT_EQ(vmas[5].usage.pss, 0);
+#endif
EXPECT_EQ(vmas[0].usage.uss, 0);
EXPECT_EQ(vmas[1].usage.uss, 1660);
EXPECT_EQ(vmas[2].usage.uss, 15272);
EXPECT_EQ(vmas[3].usage.uss, 260);
EXPECT_EQ(vmas[4].usage.uss, 0);
+#ifndef __x86_64__
EXPECT_EQ(vmas[5].usage.uss, 0);
+#endif
EXPECT_EQ(vmas[0].usage.private_clean, 0);
EXPECT_EQ(vmas[1].usage.private_clean, 0);
EXPECT_EQ(vmas[2].usage.private_clean, 0);
EXPECT_EQ(vmas[3].usage.private_clean, 260);
EXPECT_EQ(vmas[4].usage.private_clean, 0);
+#ifndef __x86_64__
EXPECT_EQ(vmas[5].usage.private_clean, 0);
+#endif
EXPECT_EQ(vmas[0].usage.private_dirty, 0);
EXPECT_EQ(vmas[1].usage.private_dirty, 1660);
EXPECT_EQ(vmas[2].usage.private_dirty, 15272);
EXPECT_EQ(vmas[3].usage.private_dirty, 0);
EXPECT_EQ(vmas[4].usage.private_dirty, 0);
+#ifndef __x86_64__
EXPECT_EQ(vmas[5].usage.private_dirty, 0);
+#endif
EXPECT_EQ(vmas[0].usage.shared_clean, 0);
EXPECT_EQ(vmas[1].usage.shared_clean, 80);
EXPECT_EQ(vmas[2].usage.shared_clean, 0);
EXPECT_EQ(vmas[3].usage.shared_clean, 0);
EXPECT_EQ(vmas[4].usage.shared_clean, 4132);
+#ifndef __x86_64__
EXPECT_EQ(vmas[5].usage.shared_clean, 0);
+#endif
EXPECT_EQ(vmas[0].usage.shared_dirty, 2048);
EXPECT_EQ(vmas[1].usage.shared_dirty, 9448);
EXPECT_EQ(vmas[2].usage.shared_dirty, 0);
EXPECT_EQ(vmas[3].usage.shared_dirty, 0);
EXPECT_EQ(vmas[4].usage.shared_dirty, 0);
+#ifndef __x86_64__
EXPECT_EQ(vmas[5].usage.shared_dirty, 0);
+#endif
EXPECT_EQ(vmas[0].usage.swap, 0);
EXPECT_EQ(vmas[1].usage.swap, 0);
EXPECT_EQ(vmas[2].usage.swap, 0);
EXPECT_EQ(vmas[3].usage.swap, 0);
EXPECT_EQ(vmas[4].usage.swap, 0);
+#ifndef __x86_64__
EXPECT_EQ(vmas[5].usage.swap, 0);
+#endif
EXPECT_EQ(vmas[0].usage.swap_pss, 0);
EXPECT_EQ(vmas[1].usage.swap_pss, 0);
EXPECT_EQ(vmas[2].usage.swap_pss, 0);
EXPECT_EQ(vmas[3].usage.swap_pss, 0);
EXPECT_EQ(vmas[4].usage.swap_pss, 0);
+#ifndef __x86_64__
EXPECT_EQ(vmas[5].usage.swap_pss, 0);
+#endif
}
TEST(SysMemInfo, TestSysMemInfoFile) {
diff --git a/procmeminfo.cpp b/procmeminfo.cpp
index 85c6562..7a64c64 100644
--- a/procmeminfo.cpp
+++ b/procmeminfo.cpp
@@ -43,7 +43,13 @@
// List of VMA names that we don't want to process:
// - On ARM32, [vectors] is a special VMA that is outside of pagemap range.
-static const std::vector<std::string> g_blacklisted_vmas = {"[vectors]"};
+// - On x86, [vsyscall] is a kernel memory that is outside of pagemap range.
+static const std::vector<std::string> g_excluded_vmas = {
+ "[vectors]",
+#ifdef __x86_64__
+ "[vsyscall]"
+#endif
+};
static void add_mem_usage(MemUsage* to, const MemUsage& from) {
to->vss += from.vss;
@@ -148,8 +154,8 @@
}
auto collect_vmas = [&](const Vma& vma) {
- if (std::find(g_blacklisted_vmas.begin(), g_blacklisted_vmas.end(), vma.name) ==
- g_blacklisted_vmas.end()) {
+ if (std::find(g_excluded_vmas.begin(), g_excluded_vmas.end(), vma.name) ==
+ g_excluded_vmas.end()) {
maps_.emplace_back(vma);
}
};
@@ -276,8 +282,8 @@
if (!::android::procinfo::ReadMapFile(
maps_file, [&](uint64_t start, uint64_t end, uint16_t flags, uint64_t pgoff, ino_t,
const char* name) {
- if (std::find(g_blacklisted_vmas.begin(), g_blacklisted_vmas.end(), name) ==
- g_blacklisted_vmas.end()) {
+ if (std::find(g_excluded_vmas.begin(), g_excluded_vmas.end(), name) ==
+ g_excluded_vmas.end()) {
maps_.emplace_back(Vma(start, end, pgoff, flags, name));
}
})) {
diff --git a/tools/librank.cpp b/tools/librank.cpp
index d6a363e..cfc3f3c 100644
--- a/tools/librank.cpp
+++ b/tools/librank.cpp
@@ -150,7 +150,7 @@
static std::map<std::string, LibRecord> g_libs;
// List of library/map names that we don't want to show by default
-static const std::vector<std::string> g_blacklisted_libs = {"[heap]", "[stack]"};
+static const std::vector<std::string> g_excluded_libs = {"[heap]", "[stack]"};
// Global flags affected by command line
static uint64_t g_pgflags = 0;
@@ -200,9 +200,9 @@
continue;
}
- // skip blacklisted library / map names
- if (!g_all_libs && (std::find(g_blacklisted_libs.begin(), g_blacklisted_libs.end(),
- map.name) != g_blacklisted_libs.end())) {
+ // skip excluded library / map names
+ if (!g_all_libs && (std::find(g_excluded_libs.begin(), g_excluded_libs.end(),
+ map.name) != g_excluded_libs.end())) {
continue;
}
diff --git a/vts/Android.bp b/vts/Android.bp
index a193caf..f025ef8 100644
--- a/vts/Android.bp
+++ b/vts/Android.bp
@@ -29,10 +29,5 @@
defaults: ["vts_meminfo_defaults"],
test_suites: ["vts"],
require_root: true,
- auto_gen_config: true,
test_min_api_level: 29,
}
-
-vts_config {
- name: "VtsKernelMemInfoTest",
-}
diff --git a/vts/AndroidTest.xml b/vts/AndroidTest.xml
deleted file mode 100644
index 9614025..0000000
--- a/vts/AndroidTest.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2019 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.
--->
-<configuration description="Config for VTS VtsKernelMemInfoTest.">
- <option name="config-descriptor:metadata" key="plan" value="vts-kernel" />
- <target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
- <option name="abort-on-push-failure" value="false"/>
- <option name="push-group" value="HostDrivenTest.push"/>
- </target_preparer>
- <test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
- <option name="test-module-name" value="VtsKernelMemInfoTest"/>
- <option name="binary-test-source" value="_32bit::DATA/nativetest/vts_meminfo_test/vts_meminfo_test" />
- <option name="binary-test-source" value="_64bit::DATA/nativetest64/vts_meminfo_test/vts_meminfo_test" />
- <option name="binary-test-type" value="gtest"/>
- <option name="precondition-first-api-level" value="29" />
- <option name="test-timeout" value="10m"/>
- </test>
-</configuration>