Merge "add breakpoint test to staging"
diff --git a/api/proc/KernelProcFileApiTest.py b/api/proc/KernelProcFileApiTest.py
index da9dc99..0ac78dc 100644
--- a/api/proc/KernelProcFileApiTest.py
+++ b/api/proc/KernelProcFileApiTest.py
@@ -23,12 +23,12 @@
 from vts.runners.host import test_runner
 
 from vts.testcases.kernel.api.proc import ProcCmdlineTest
-from vts.testcases.kernel.api.proc import ProcCpuInfoTest
+from vts.testcases.kernel.api.proc import ProcCpuFileTests
+from vts.testcases.kernel.api.proc import ProcFsFileTests
 from vts.testcases.kernel.api.proc import ProcKmsgTest
 from vts.testcases.kernel.api.proc import ProcMapsTest
 from vts.testcases.kernel.api.proc import ProcMemInfoTest
 from vts.testcases.kernel.api.proc import ProcModulesTest
-from vts.testcases.kernel.api.proc import ProcMountsTest
 from vts.testcases.kernel.api.proc import ProcQtaguidCtrlTest
 from vts.testcases.kernel.api.proc import ProcRemoveUidRangeTest
 from vts.testcases.kernel.api.proc import ProcSimpleFileTests
@@ -43,19 +43,22 @@
 
 TEST_OBJECTS = {
     ProcCmdlineTest.ProcCmdlineTest(),
-    ProcCpuInfoTest.ProcCpuInfoTest(),
+    ProcCpuFileTests.ProcCpuInfoTest(),
+    ProcCpuFileTests.ProcLoadavgTest(),
+    ProcFsFileTests.ProcFilesystemsTest(),
+    ProcFsFileTests.ProcMountsTest(),
+    ProcFsFileTests.ProcSwapsTest(),
     ProcKmsgTest.ProcKmsgTest(),
-    ProcSimpleFileTests.ProcKptrRestrictTest(),
     ProcMapsTest.ProcMapsTest(),
     ProcMemInfoTest.ProcMemInfoTest(),
+    ProcModulesTest.ProcModulesTest(),
+    ProcQtaguidCtrlTest.ProcQtaguidCtrlTest(),
+    ProcRemoveUidRangeTest.ProcRemoveUidRangeTest(),
+    ProcSimpleFileTests.ProcKptrRestrictTest(),
     ProcSimpleFileTests.ProcMmapMinAddrTest(),
     ProcSimpleFileTests.ProcMmapRndBitsTest(),
-    ProcModulesTest.ProcModulesTest(),
-    ProcMountsTest.ProcMountsTest(),
     ProcSimpleFileTests.ProcOverCommitMemoryTest(),
-    ProcQtaguidCtrlTest.ProcQtaguidCtrlTest(),
     ProcSimpleFileTests.ProcRandomizeVaSpaceTest(),
-    ProcRemoveUidRangeTest.ProcRemoveUidRangeTest(),
     ProcShowUidStatTest.ProcShowUidStatTest(),
     ProcStatTest.ProcStatTest(),
     ProcVersionTest.ProcVersionTest(),
diff --git a/api/proc/ProcCpuInfoTest.py b/api/proc/ProcCpuFileTests.py
similarity index 88%
rename from api/proc/ProcCpuInfoTest.py
rename to api/proc/ProcCpuFileTests.py
index 04fb4e4..870bda6 100644
--- a/api/proc/ProcCpuInfoTest.py
+++ b/api/proc/ProcCpuFileTests.py
@@ -73,3 +73,13 @@
 
     def get_path(self):
         return "/proc/cpuinfo"
+
+
+class ProcLoadavgTest(KernelProcFileTestBase.KernelProcFileTestBase):
+    '''/proc/loadavg displays CPU and IO load average over time.'''
+
+    def parse_contents(self, contents):
+        return self.parse_line("{:f} {:f} {:f} {:d}/{:d} {:d}\n", contents)
+
+    def get_path(self):
+        return "/proc/loadavg"
diff --git a/api/proc/ProcMountsTest.py b/api/proc/ProcFsFileTests.py
similarity index 61%
rename from api/proc/ProcMountsTest.py
rename to api/proc/ProcFsFileTests.py
index da0ce0b..258c728 100644
--- a/api/proc/ProcMountsTest.py
+++ b/api/proc/ProcFsFileTests.py
@@ -54,3 +54,44 @@
 
     def get_path(self):
         return "/proc/self/mounts"
+
+class ProcFilesystemsTest(KernelProcFileTestBase.KernelProcFileTestBase):
+    '''/proc/filesystems lists filesystems currently supported by kernel.'''
+
+    def parse_contents(self, contents):
+        if len(contents) == 0 or contents[-1] != '\n':
+            raise SyntaxError('Missing final newline')
+
+        result = []
+        for line in contents.split('\n')[:-1]:
+            parsed = line.split('\t')
+            num_columns = len(parsed)
+            if num_columns != 2:
+                raise SyntaxError('Wrong number of columns.')
+            result.append(parsed)
+        return result
+
+    def get_path(self):
+        return "/proc/filesystems"
+
+class ProcSwapsTest(KernelProcFileTestBase.KernelProcFileTestBase):
+    '''/proc/swaps measures swap space utilization.'''
+
+    REQUIRED_COLUMNS = {
+        'Filename',
+        'Type',
+        'Size',
+        'Used',
+        'Priority'
+    }
+
+    def parse_contents(self, contents):
+        if len(contents) == 0 or contents[-1] != '\n':
+            raise SyntaxError('Missing final newline')
+        return map(lambda x: x.split(), contents.split('\n')[:-1])
+
+    def result_correct(self, result):
+        return self.REQUIRED_COLUMNS.issubset(result[0])
+
+    def get_path(self):
+        return "/proc/swaps"
diff --git a/api/proc/ProcVmallocInfoTest.py b/api/proc/ProcVmallocInfoTest.py
index bd1368a..bf0bff0 100644
--- a/api/proc/ProcVmallocInfoTest.py
+++ b/api/proc/ProcVmallocInfoTest.py
@@ -95,6 +95,7 @@
 
     def p_caller(self, p):
         '''caller : CALLER
+                  | HEX_LITERAL
                   | empty'''
         p[0] = p[1]
 
diff --git a/api/tun/Android.bp b/api/tun/Android.bp
index f065de2..9ca5ce7 100644
--- a/api/tun/Android.bp
+++ b/api/tun/Android.bp
@@ -17,6 +17,7 @@
     srcs: [
         "vts_kernel_tun_test.cpp",
     ],
+    cflags: ["-Wall", "-Werror"],
     shared_libs: [
         "libbase",
     ],
diff --git a/ltp/configs/disabled_tests.py b/ltp/configs/disabled_tests.py
index 659ef52..aa36175 100644
--- a/ltp/configs/disabled_tests.py
+++ b/ltp/configs/disabled_tests.py
@@ -178,7 +178,6 @@
     'mm.mtest06',
     'mm.shm_test01',
     'mm.mallocstress01',
-    'mm.mmapstress04',
     'mm.vma03',
     'mm.min_free_kbytes',
     'pipes.pipeio_1',
@@ -238,7 +237,6 @@
     'fs.inode02',
     'ipc.signal_test_01',
     'mm.data_space',
-    'mm.mmapstress01',
     'mm.mmapstress10',
     'syscalls.clock_nanosleep01',
     'syscalls.clone04',