Coverage for lobster/tools/cpptest/parser/constants.py: 100%
22 statements
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-26 14:55 +0000
« prev ^ index » next coverage.py v7.9.1, created at 2025-06-26 14:55 +0000
1import re
4class Constants:
5 def __init__(self, codebeamer_url = ''):
7 self.codebeamer_link = codebeamer_url + "/issue/"
8 self.requirement = re.compile(r".*[@\\]requirement\s+"
9 r"([\s*/]*(((CB-#)|({}))\d+)\s*,?)+"
10 .format(self.codebeamer_link))
11 self.requirement_tag_http = ((r"([@\\]requirement(\s+"
12 r"(CB-#\d+\s+)*({}\d+\s*,?\s*/*\*?)+)+)")
13 .format(self.codebeamer_link))
14 self.requirement_tag_http_named = (r"({}(?P<number>\d+))"
15 .format(self.codebeamer_link))
17 NON_EXISTING_INFO = "---"
19 LOBSTER_GENERATOR = "lobster-cpptest"
21 VALID_TESTMETHODS = [
22 "TM_EQUIVALENCE",
23 "TM_PAIRWISE",
24 "TM_GUESSING",
25 "TM_BOUNDARY",
26 "TM_CONDITION",
27 "TM_REQUIREMENT",
28 "TM_TABLE",
29 ]
31 VALID_TEST_MACROS = [
32 "TEST",
33 "TEST_P",
34 "TEST_F",
35 "TYPED_TEST",
36 "TYPED_TEST_P",
37 "TYPED_TEST_SUITE",
38 "TEST_P_INSTANCE",
39 "TEST_F_INSTANCE",
40 ]
42 TEST_CASE_INTRO = re.compile(r"^\s*(" +
43 "|".join(VALID_TEST_MACROS) +
44 r")\s*\(")
45 TEST_CASE_INFO = re.compile(
46 r"^\s*(" + "|".join(VALID_TEST_MACROS) +
47 r")\s*\(\s*(?P<suite_name>\w+),\s*(?P<test_name>\w+)\)"
48 )
49 REQUIREMENT_TAG = r"(CB-#\d+)"
51 REQUIRED_BY = re.compile(r".*[@\\]requiredby\s+([\s*/]*(\w*::\w+),?\s*)+")
52 REQUIRED_BY_TAG = r"(\w*::\w+)"
53 DEFECT = re.compile(
54 r"(@defect\s+)(((?:(CB-#\d+)|(OCT-#\d+)),?\s*)+)" +
55 r"(?:///|/)\s+(((?:(CB-#\d+)|(OCT-#\d+)),?\s)+)?"
56 )
57 BRIEF = re.compile(r"(@brief\s+)([^@]+)")
58 VERSION = re.compile(r"(@version\s+)(\d+([,]? \d+)*)+")
59 OCT_TAG = r"(OCT-#\d+)"
60 TESTMETHODS = re.compile(r"(@testmethods\s+)([^@]+)")
61 TEST = re.compile(r"(@test\s+)([^@]+)")