Snap for 6169764 from 4c0b0e0d3b853953744a3605d82efc881dfa6a5e to qt-qpr3-release
Change-Id: I3abc4f70c5bbbfb5ee9b372ca9a70b422a589310
diff --git a/api/proc/KernelProcFileTestBase.py b/api/proc/KernelProcFileTestBase.py
index aeaac70..472961c 100644
--- a/api/proc/KernelProcFileTestBase.py
+++ b/api/proc/KernelProcFileTestBase.py
@@ -137,6 +137,9 @@
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 e19600d..5bc9678 100644
--- a/api/proc/ProcSimpleFileTests.py
+++ b/api/proc/ProcSimpleFileTests.py
@@ -18,6 +18,7 @@
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 @@
def get_path(self):
return "/proc/sys/vm/drop_caches"
- def get_permission_checker(self):
- return target_file_utils.IsReadWrite
+ def IsReadWriteOrWriteOnly(self, permission_bits):
+ return (target_file_utils.IsReadWrite(permission_bits) or
+ target_file_utils.IsWriteOnly(permission_bits))
+ def get_permission_checker(self):
+ 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 3451f5c..5a2b324 100644
--- a/api/proc/VtsKernelProcFileApiTest.py
+++ b/api/proc/VtsKernelProcFileApiTest.py
@@ -141,6 +141,7 @@
"""
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),