Skip to content

Commit e047c97

Browse files
authored
Merge pull request #33 from common-workflow-language/conformance_clarity
Add `classname` category to specify Python run time version in XML output file
2 parents c86d901 + f3a9aa5 commit e047c97

File tree

1 file changed

+10
-8
lines changed

1 file changed

+10
-8
lines changed

cwltest/__init__.py

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
_logger.setLevel(logging.INFO)
3030

3131
UNSUPPORTED_FEATURE = 33
32-
32+
RUNTIME = sys.version_info.major
3333

3434
class CompareFail(Exception):
3535

@@ -48,20 +48,21 @@ class TestResult(object):
4848

4949
"""Encapsulate relevant test result data."""
5050

51-
def __init__(self, return_code, standard_output, error_output, duration, message=''):
52-
# type: (int, Text, Text, float, str) -> None
51+
def __init__(self, return_code, standard_output, error_output, duration, classname, message=''):
52+
# type: (int, Text, Text, float, Text, str) -> None
5353
self.return_code = return_code
5454
self.standard_output = standard_output
5555
self.error_output = error_output
5656
self.duration = duration
5757
self.message = message
58+
self.classname = classname
5859

5960
def create_test_case(self, test):
6061
# type: (Dict[Text, Any]) -> junit_xml.TestCase
6162
doc = test.get(u'doc', 'N/A').strip()
6263
case = junit_xml.TestCase(
63-
doc, elapsed_sec=self.duration,
64-
stdout=self.standard_output, stderr=self.error_output
64+
doc, elapsed_sec=self.duration, classname=self.classname,
65+
stdout=self.standard_output, stderr=self.error_output,
6566
)
6667
if self.return_code > 0:
6768
case.failure_message = self.message
@@ -218,13 +219,13 @@ def run_test(args, i, tests): # type: (argparse.Namespace, int, List[Dict[str,
218219
_logger.error(outerr)
219220
except subprocess.CalledProcessError as err:
220221
if err.returncode == UNSUPPORTED_FEATURE:
221-
return TestResult(UNSUPPORTED_FEATURE, outstr, outerr, duration)
222+
return TestResult(UNSUPPORTED_FEATURE, outstr, outerr, duration, args.classname)
222223
else:
223224
_logger.error(u"""Test failed: %s""", " ".join([pipes.quote(tc) for tc in test_command]))
224225
_logger.error(t.get("doc"))
225226
_logger.error("Returned non-zero")
226227
_logger.error(outerr)
227-
return TestResult(1, outstr, outerr, duration, str(err))
228+
return TestResult(1, outstr, outerr, duration, args.classname, str(err))
228229
except (yamlscanner.ScannerError, TypeError) as e:
229230
_logger.error(u"""Test failed: %s""", " ".join([pipes.quote(tc) for tc in test_command]))
230231
_logger.error(outstr)
@@ -247,7 +248,7 @@ def run_test(args, i, tests): # type: (argparse.Namespace, int, List[Dict[str,
247248
if outdir:
248249
shutil.rmtree(outdir, True)
249250

250-
return TestResult((1 if fail_message else 0), outstr, outerr, duration, fail_message)
251+
return TestResult((1 if fail_message else 0), outstr, outerr, duration, args.classname, fail_message)
251252

252253

253254
def main(): # type: () -> int
@@ -267,6 +268,7 @@ def main(): # type: () -> int
267268
parser.add_argument("-j", type=int, default=1, help="Specifies the number of tests to run simultaneously "
268269
"(defaults to one).")
269270
parser.add_argument("--verbose", action="store_true", help="More verbose output during test run.")
271+
parser.add_argument("--classname", type=str, default="", help="Specify classname for the Test Suite.")
270272

271273
args = parser.parse_args()
272274
if '--' in args.args:

0 commit comments

Comments
 (0)