xref: /aosp_15_r20/test/vts/tests/kernel_proc_file_api_test/proc_tests/ProcMiscTest.py (revision 9a74111979c139a065a9a7e4d45972320c5732c7)
1#
2# Copyright (C) 2020 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17from proc_tests import KernelProcFileTestBase
18from proc_tests.KernelProcFileTestBase import repeat_rule
19
20
21class ProcMisc(KernelProcFileTestBase.KernelProcFileTestBase):
22    '''/proc/misc lists miscellaneous drivers registered on the miscellaneous
23    major device.
24    '''
25
26    t_ignore = ' '
27    # t_DRIVERNAME is different from t_STRING in that it
28    # also allowes forward slash, which is sometime present
29    # in the name
30    t_DRIVERNAME = r'[a-zA-Z\(\)_0-9\-/.@]+'
31
32    start = 'drivers'
33
34    p_drivers = repeat_rule('driver')
35
36    def p_line(self, p):
37        'driver : NUMBER DRIVERNAME NEWLINE'
38        p[0] = [p[1], p[2]]
39
40    def get_path(self):
41        return "/proc/misc"
42