Add possibility to generate junit report for k8s tests.
Change-Id: I7bee5d0bd972110b1071f326e91076da9af8d2a9
Related-prod: PROD-16918
diff --git a/src/com/mirantis/mk/Test.groovy b/src/com/mirantis/mk/Test.groovy
index 39a9c9f..87f6a56 100644
--- a/src/com/mirantis/mk/Test.groovy
+++ b/src/com/mirantis/mk/Test.groovy
@@ -30,6 +30,36 @@
print("Conformance test output saved in " + outfile)
}
+
+/**
+ * Upload conformance results to cfg node
+ *
+ * @param target Kubernetes node for copy test results
+ * @param artifacts_dir Path with test results
+ */
+def CopyConformanceResults(master, target, artifacts_dir, output_file) {
+ def salt = new com.mirantis.mk.Salt()
+ def containerName = 'conformance_tests'
+ def test_node = target.replace("*", "")
+
+ out = salt.runSaltProcessStep(master, target, 'cmd.run', ["docker cp ${containerName}:/report /tmp"])
+ if (! out['return'][0].values()[0].contains('Error')) {
+ print("Copy XML test results for junit artifacts...")
+ salt.runSaltProcessStep(master, target, 'cmd.run', ["tar -cf /tmp/${output_file} -C /tmp/report ."])
+
+ writeFile file: "${artifacts_dir}${output_file}", text: salt.getFileContent(master,
+ target, "/tmp/${output_file}")
+
+ sh "mkdir -p ${artifacts_dir}/conformance_tests"
+ sh "tar -xf ${artifacts_dir}${output_file} -C ${artifacts_dir}/conformance_tests"
+
+ // collect artifacts
+ archiveArtifacts artifacts: "${artifacts_dir}${output_file}"
+
+ junit(keepLongStdio: true, testResults: "${artifacts_dir}conformance_tests/**.xml")
+ }
+}
+
/**
* Copy test output to cfg node
*