1
- # Copyright (c) 2020-2022 , NVIDIA CORPORATION.
1
+ # Copyright (c) 2020-2025 , NVIDIA CORPORATION.
2
2
# Generate a junit-xml file from parsing a nbtest log
3
3
4
4
import re
5
- from xml .etree .ElementTree import Element , ElementTree
6
- from os import path
7
5
import string
8
6
from enum import Enum
9
-
7
+ from os import path
8
+ from xml .etree .ElementTree import Element , ElementTree
10
9
11
10
startingPatt = re .compile (r"^STARTING: ([\w\.\-]+)$" )
12
- skippingPatt = re .compile (r"^SKIPPING: ([\w\.\-]+)\s*(\(([\w\.\-\ \,]+)\))?\s*$" )
11
+ skippingPatt = re .compile (
12
+ r"^SKIPPING: ([\w\.\-]+)\s*(\(([\w\.\-\ \,]+)\))?\s*$"
13
+ )
13
14
exitCodePatt = re .compile (r"^EXIT CODE: (\d+)$" )
14
15
folderPatt = re .compile (r"^FOLDER: ([\w\.\-]+)$" )
15
16
timePatt = re .compile (r"^real\s+([\d\.ms]+)$" )
@@ -37,12 +38,8 @@ def makeFailureElement(outputLines):
37
38
38
39
39
40
def setFileNameAttr (attrDict , fileName ):
40
- attrDict .update (file = fileName ,
41
- classname = "" ,
42
- line = "" ,
43
- name = "" ,
44
- time = ""
45
- )
41
+ attrDict .update (file = fileName , classname = "" , line = "" , name = "" , time = "" )
42
+
46
43
47
44
def setClassNameAttr (attrDict , className ):
48
45
attrDict ["classname" ] = className
@@ -76,11 +73,12 @@ def parseLog(logFile, testSuiteElement):
76
73
testSuiteElement .attrib ["timestamp" ] = ""
77
74
78
75
attrDict = {}
79
- #setFileNameAttr(attrDict, logFile)
76
+ # setFileNameAttr(attrDict, logFile)
80
77
setFileNameAttr (attrDict , "nbtest" )
81
78
82
- parserStateEnum = Enum ("parserStateEnum" ,
83
- "newTest startingLine finishLine exitCode" )
79
+ parserStateEnum = Enum (
80
+ "parserStateEnum" , "newTest startingLine finishLine exitCode"
81
+ )
84
82
parserState = parserStateEnum .newTest
85
83
86
84
testOutput = ""
@@ -98,7 +96,9 @@ def parseLog(logFile, testSuiteElement):
98
96
setTimeAttr (attrDict , "0m0s" )
99
97
skippedElement = makeTestCaseElement (attrDict )
100
98
message = m .group (3 ) or ""
101
- skippedElement .append (Element ("skipped" , message = message , type = "" ))
99
+ skippedElement .append (
100
+ Element ("skipped" , message = message , type = "" )
101
+ )
102
102
testSuiteElement .append (skippedElement )
103
103
incrNumAttr (testSuiteElement , "skipped" )
104
104
incrNumAttr (testSuiteElement , "tests" )
@@ -160,4 +160,6 @@ def parseLog(logFile, testSuiteElement):
160
160
testSuiteElement = Element ("testsuite" , name = "nbtest" , hostname = "" )
161
161
parseLog (sys .argv [1 ], testSuiteElement )
162
162
testSuitesElement .append (testSuiteElement )
163
- ElementTree (testSuitesElement ).write (sys .argv [1 ]+ ".xml" , xml_declaration = True )
163
+ ElementTree (testSuitesElement ).write (
164
+ sys .argv [1 ] + ".xml" , xml_declaration = True
165
+ )
0 commit comments