Coverage for lobster/tools/cpptest/parser/constants.py: 100%

22 statements  

« prev     ^ index     » next       coverage.py v7.10.2, created at 2025-08-06 09:51 +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\S]*?(?=@|\Z)') 

9 self.requirement_tag_http = ((r"([@\\]requirement(\s+" 

10 r"(CB-#\d+\s+)*({}\d+\s*,?\s*/*\*?)+)+)") 

11 .format(self.codebeamer_link)) 

12 self.requirement_tag_http_named = (r"({}(?P<number>\d+))" 

13 .format(self.codebeamer_link)) 

14 

15 NON_EXISTING_INFO = "---" 

16 

17 LOBSTER_GENERATOR = "lobster-cpptest" 

18 

19 VALID_TESTMETHODS = [ 

20 "TM_EQUIVALENCE", 

21 "TM_PAIRWISE", 

22 "TM_GUESSING", 

23 "TM_BOUNDARY", 

24 "TM_CONDITION", 

25 "TM_REQUIREMENT", 

26 "TM_TABLE", 

27 ] 

28 

29 VALID_TEST_MACROS = [ 

30 "TEST", 

31 "TEST_P", 

32 "TEST_F", 

33 "TYPED_TEST", 

34 "TYPED_TEST_P", 

35 "TYPED_TEST_SUITE", 

36 "TEST_P_INSTANCE", 

37 "TEST_F_INSTANCE", 

38 ] 

39 

40 TEST_CASE_INTRO = re.compile(r"^\s*(" + 

41 "|".join(VALID_TEST_MACROS) + 

42 r")\s*\(") 

43 TEST_CASE_INFO = re.compile( 

44 r"^\s*(" + "|".join(VALID_TEST_MACROS) + 

45 r")\s*\(\s*(?P<suite_name>\w+),\s*(?P<test_name>\w+)\)" 

46 ) 

47 REQUIREMENT_TAG = r"(CB-#\d+)" 

48 

49 REQUIRED_BY = re.compile(r".*[@\\]requiredby\s+([\s*/]*(\w*::\w+),?\s*)+") 

50 REQUIRED_BY_TAG = r"(\w*::\w+)" 

51 DEFECT = re.compile( 

52 r"(@defect\s+)(((?:(CB-#\d+)|(OCT-#\d+)),?\s*)+)" + 

53 r"(?:///|/)\s+(((?:(CB-#\d+)|(OCT-#\d+)),?\s)+)?" 

54 ) 

55 BRIEF = re.compile(r"(@brief\s+)([^@]+)") 

56 VERSION = re.compile(r"(@version\s+)(\d+([,]? \d+)*)+") 

57 OCT_TAG = r"(OCT-#\d+)" 

58 TESTMETHODS = re.compile(r"(@testmethods\s+)([^@]+)") 

59 TEST = re.compile(r"(@test\s+)([^@]+)")