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

1import re 

2 

3 

4class Constants: 

5 def __init__(self, codebeamer_url = ''): 

6 

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)) 

16 

17 NON_EXISTING_INFO = "---" 

18 

19 LOBSTER_GENERATOR = "lobster-cpptest" 

20 

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 ] 

30 

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 ] 

41 

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+)" 

50 

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+)([^@]+)")