summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-01-30 02:13:45 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-01-30 02:13:45 +0000
commit9ef44d9eb48f1841f21bcfa642e34b19a6284625 (patch)
tree2c6ef11ca6d9db941be96f8dd1c6ffecc6503956
parent6ee6da28ba8a69f7660716750ee26a44e1d9ec29 (diff)
parent4c0b0e0d3b853953744a3605d82efc881dfa6a5e (diff)
downloadplatform_test_vts-testcase_kernel-android10-d4-release.tar.gz
platform_test_vts-testcase_kernel-android10-d4-release.tar.bz2
platform_test_vts-testcase_kernel-android10-d4-release.zip
Snap for 6169764 from 4c0b0e0d3b853953744a3605d82efc881dfa6a5e to qt-d4-releaseandroid-10.0.0_r45android-10.0.0_r44android-10.0.0_r43android-10.0.0_r42android10-d4-s1-releaseandroid10-d4-release
Change-Id: I7e2763af6902c3ba2856545b561126da01b0f16d
-rw-r--r--api/proc/KernelProcFileTestBase.py3
-rw-r--r--api/proc/ProcSimpleFileTests.py12
-rw-r--r--api/proc/VtsKernelProcFileApiTest.py1
3 files changed, 15 insertions, 1 deletions
diff --git a/api/proc/KernelProcFileTestBase.py b/api/proc/KernelProcFileTestBase.py
index aeaac702..472961c9 100644
--- a/api/proc/KernelProcFileTestBase.py
+++ b/api/proc/KernelProcFileTestBase.py
@@ -137,6 +137,9 @@ class KernelProcFileTestBase(object):
self.parser = yacc.yacc(module=self, write_tables=False, \
errorlog=yacc.PlyLogger(sys.stderr)) #open(os.devnull, 'w')))
+ def set_api_level(self, dut):
+ self.api_level = dut.getLaunchApiLevel(strict=False)
+
def parse_line(self, rule, line, custom={}):
"""Parse a line of text with the parse library.
diff --git a/api/proc/ProcSimpleFileTests.py b/api/proc/ProcSimpleFileTests.py
index e19600d5..5bc9678d 100644
--- a/api/proc/ProcSimpleFileTests.py
+++ b/api/proc/ProcSimpleFileTests.py
@@ -18,6 +18,7 @@ import math
from parse import with_pattern
from vts.testcases.kernel.api.proc import KernelProcFileTestBase
+from vts.utils.python.android import api
from vts.utils.python.file import target_file_utils
# Test for /proc/sys/kernel/*.
@@ -439,9 +440,18 @@ class ProcDropCaches(KernelProcFileTestBase.KernelProcFileTestBase):
def get_path(self):
return "/proc/sys/vm/drop_caches"
+ def IsReadWriteOrWriteOnly(self, permission_bits):
+ return (target_file_utils.IsReadWrite(permission_bits) or
+ target_file_utils.IsWriteOnly(permission_bits))
+
def get_permission_checker(self):
- return target_file_utils.IsReadWrite
+ if self.api_level > api.PLATFORM_API_LEVEL_Q:
+ return target_file_utils.IsWriteOnly
+ else:
+ return self.IsReadWriteOrWriteOnly
+ def test_format(self):
+ return False
class ProcExtraFreeKbytes(KernelProcFileTestBase.KernelProcFileTestBase):
'''/proc/sys/vm/extra_free_kbytes tells the VM to keep extra free memory
diff --git a/api/proc/VtsKernelProcFileApiTest.py b/api/proc/VtsKernelProcFileApiTest.py
index 3451f5c8..5a2b3240 100644
--- a/api/proc/VtsKernelProcFileApiTest.py
+++ b/api/proc/VtsKernelProcFileApiTest.py
@@ -141,6 +141,7 @@ class VtsKernelProcFileApiTest(base_test.BaseTestClass):
"""
asserts.skipIf(test_object in TEST_OBJECTS_64 and not self.dut.is64Bit,
"Skip test for 64-bit kernel.")
+ test_object.set_api_level(self.dut)
filepath = test_object.get_path()
asserts.skipIf(not target_file_utils.Exists(filepath, self.shell) and
test_object.file_optional(shell=self.shell, dut=self.dut),