Merge pull request #47099 from mengqiy/add_junit_for_cmd_tests

Automatic merge from submit-queue (batch tested with PRs 47204, 46808, 47432, 47400, 47099)

support junit in test-cmd

Output junit result for cmd tests.

Fixes #45196

There will be a followup PR to refactor the cmd test into functions as test cases there is not a lot changes in `hack/make-rules/test-cmd-util.sh`

```release-note
NONE
```
pull/6/head
Kubernetes Submit Queue 2017-06-14 17:14:08 -07:00 committed by GitHub
commit 304106f0f7
2 changed files with 1182 additions and 620 deletions

File diff suppressed because it is too large Load Diff

View File

@ -137,11 +137,6 @@ function juLog() {
content="$content
<testcase assertions=\"1\" name=\"$name\" time=\"$time\" classname=\"$class\">
$failure
<system-out>
<![CDATA[
$out
]]>
</system-out>
<system-err>
<![CDATA[
$errMsg
@ -160,18 +155,24 @@ $errMsg
# file exists. Need to append to it. If we remove the testsuite end tag, we can just add it in after.
sed -i "s^</testsuite>^^g" $juDIR/junit-$suite.xml ## remove testSuite so we can add it later
sed -i "s^</testsuites>^^g" $juDIR/junit-$suite.xml
cat <<EOF >> "$juDIR/junit-$suite.xml"
$content
</testsuite>
</testsuites>
EOF
else
# no file exists. Adding a new file
cat <<EOF > "$juDIR/junit-$suite.xml"
<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
<testsuite failures="$errors" assertions="$assertions" name="$suite" tests="1" errors="$errors" time="$total">
$content
</testsuite>
</testsuites>
EOF
fi
return $err
}