xref: /aosp_15_r20/platform_testing/libraries/annotations/src/py/CddTest.py (revision dd0948b35e70be4c0246aabd6c72554a5eb8b22a)
1#  Copyright (C) 2024 The Android Open Source Project
2#
3#  Licensed under the Apache License, Version 2.0 (the "License");
4#  you may not use this file except in compliance with the License.
5#  You may obtain a copy of the License at
6#
7#       http://www.apache.org/licenses/LICENSE-2.0
8#
9#  Unless required by applicable law or agreed to in writing, software
10#  distributed under the License is distributed on an "AS IS" BASIS,
11#  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12#  See the License for the specific language governing permissions and
13#  limitations under the License.
14
15"""CddTest decorator."""
16
17from typing import List
18
19
20class CddTest(object):
21  """Marks the type of test with purpose of asserting CDD requirements.
22
23  Args:
24      requirements: the list of CDD requirements.
25
26  Example:
27      @CddTest(requirements=['2.5.3/3/A-0-1', '2.5.3/3/A-0-2'])
28  """
29
30  def __init__(self, requirements: List[str] = []):
31    self._requirements = requirements
32
33  def __call__(self, func):
34    return func
35