| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| } | ||
| post { | ||
| always { | ||
| junit testResults: 'bundles/junit-report.xml', allowEmptyResults: true |
There was a problem hiding this comment.
I can disable the allowEmptyResults for now, so that it's clear if it failed
Perhaps we should do a dir (e.g.) too see what files are present, and if the location in which it's stored is correct
Sorry, something went wrong.
|
one failure, which is known to be flaky; #32219 https://ci.docker.com/public/job/moby/job/PR-39998/1/execution/node/209/log/?consoleFull 01:16:22.548 --- FAIL: TestDockerSuite/TestRestartContainerwithRestartPolicy (9.00s) 01:16:22.548 cli.go:29: assertion failed: 01:16:22.548 Command: d:\CI\PR-39998\1\binary\docker.exe restart 84a49937203b5fa980e4a6b69ab5af98e8d363e1862ccb9caa49da62015006a5 01:16:22.548 ExitCode: 1 01:16:22.548 Error: exit status 1 01:16:22.548 Stdout: 01:16:22.548 Stderr: Error response from daemon: Cannot restart container 84a49937203b5fa980e4a6b69ab5af98e8d363e1862ccb9caa49da62015006a5: Container 84a49937203b5fa980e4a6b69ab5af98e8d363e1862ccb9caa49da62015006a5 is not running 01:16:22.548 01:16:22.548 01:16:22.548 Failures: 01:16:22.548 ExitCode was 1 expected 0 01:16:22.548 Expected no error It did run the archive junit results step; https://ci.docker.com/public/job/moby/job/PR-39998/1/execution/node/355/log/ But I don't see the test-results for windows; |
Sorry, something went wrong.
|
To help with development iteration, you could throw in a temporary git commit to disable tests except for windowsRS5. Lines 11 to 17 in 5b57f41 |
Sorry, something went wrong.
|
Looks like it still doesn't write results in the right location; https://ci.docker.com/public/job/moby/job/PR-39998/5/execution/node/356/log/ 01:01:32.396 Recording test results 01:01:34.755 None of the test reports contained any result [2019-10-08T17:19:36.991Z] INFO: Invoking unit tests run with C:\gopath/src/gotest.tools/gotestsum\gotestsum.exe --format=standard-quiet --jsonfile=bundles\go-test-report.json --junitfile=bundles\junit-report.xml -- -cover -ldflags -w -tags "autogen daemon" -a "-test.timeout=10m" ......... ... [2019-10-08T17:23:07.620Z] INFO: make.ps1 ended at 10/08/2019 17:23:07 [2019-10-08T17:23:09.158Z] WARN: junit (Unit test) results(f4eccb3b36:c:\gopath\src\github.com\docker\docker\bundles\junit-report.xml) not found [2019-10-08T17:23:09.158Z] INFO: Unit tests ended at 10/08/2019 17:23:09. Duration:00:04:10.1162257 |
Sorry, something went wrong.
|
@vikramhh I rebased your branch again; I think your local git was not up-to-date with the upstreams. |
Sorry, something went wrong.
There was a problem hiding this comment.
Should we move this inside the Build-GoTestSum function?
Sorry, something went wrong.
There was a problem hiding this comment.
I do not know a compelling argument either way. Why would you choose one over the other?
Sorry, something went wrong.
There was a problem hiding this comment.
All other messages (including "Build done ..") are printed as part of the script, so it would make sense to include this as well. If it's move to a script, we could just call Build-GoTestSum and be done
Sorry, something went wrong.
There was a problem hiding this comment.
Done
Sorry, something went wrong.
There was a problem hiding this comment.
The scripts that we're writing in the Dockerfile now are a bit lengthy, and more complex to maintain (having to keep all the line-continuations (```) into account.
Perhaps we should put these function in a .ps file (easier to write/maintain), and;
Somewhere at the top of the Dockerfile (assuming the functions themself don't change often);
COPY hack/dockerfile/install/gotestsum.installer.ps1 hack/dockerfile/install/gotestsum.installer.ps1And later on, call those functions
RUN . "hack/dockerfile/install/gotestsum.installer.ps1" Build-GoTestSum (or however that should be done in PowerShell)
Sorry, something went wrong.
There was a problem hiding this comment.
Good suggestion and something I have put on my plate. It will be done in a separate PR
Sorry, something went wrong.
There was a problem hiding this comment.
Same here.
Wondering though why we're no longer building the binaries here? (perhaps you can explain why this changed)
Sorry, something went wrong.
There was a problem hiding this comment.
Instead of building the test binary and then running it, we are just running the test. Why we need to do it in two different stages?
Sorry, something went wrong.
There was a problem hiding this comment.
I think this is to print stderr output if there's no error that happened, correct?
In case of an error ($LASTEXITCODE -ne 0), this will now be printed twice. Think it should be changed to either;
if (($LASTEXITCODE -ne 0) -and ($err -notlike "*warning: no tests to run*")) {
Throw "Integration tests failed: $err"
} else {
Write-Host "$err"
}Or (if Throw exits the script (not sure if if does so?)); perhaps add a comment as well to explain why we're printing $err
if (($LASTEXITCODE -ne 0) -and ($err -notlike "*warning: no tests to run*")) {
Throw "Integration tests failed: $err"
}
# Write stderr output
Write-Host "$err"
Sorry, something went wrong.
|
I'm starting to see the junit reports of the test results in jenkins UI now, which is a great step: https://ci.docker.com/public/blue/organizations/jenkins/moby/detail/PR-39998/38/tests |
Sorry, something went wrong.
|
@thaJeztah - the failures on RS5 are known issues. If you are good with the changes, could we get RS1 checks as well. |
Sorry, something went wrong.
|
This PR is valuable as is with RS5 junit test results in jenkins. It is important to expose the failures since the return code is always success. I'd recommend getting this PR in as soon as possible and having a separate PR for RS1. |
Sorry, something went wrong.
|
The issue we noticed when discussing, is that the naming of the tests for Windows is different than the ones for Linux, therefore the tests show in a different place; for reference, this is how the naming is set for the Linux ones for the junit.xml; moby/hack/make/.integration-test-helpers Lines 69 to 90 in e780565 |
Sorry, something went wrong.
|
The above is true only for integration tests and could be handled by transforming the output of all tests [i.e. the xml files] by applying the same rules to each test phase [unit/integration and integration-cli] once we figure out where each result type should show up. This is not a blocker. |
Sorry, something went wrong.
There was a problem hiding this comment.
LGTM
Sorry, something went wrong.
|
@vikramhh could you rebase this PR, because I think the failing test is fixed / skipped on master, so after rebasing, it should be green |
Sorry, something went wrong.
|
Rebased - the two failures are expected because only 1 of the 3 failing tests in #40155 has been disabled. The other two still fail [even though Jenkins does not always mark the checks as failed, something that should be partially fixed by this PR]. The third failure will be fixed by #40193 |
Sorry, something went wrong.
There was a problem hiding this comment.
LGTM
(rebased, to resolve merge-conflict due to Golang bump)
Sorry, something went wrong.
There was a problem hiding this comment.
No idea about the powershell, but LGTM! 🐑
Sorry, something went wrong.
|
remaining failures were tests that don't work on windows, and are now skipped through #40199 |
Sorry, something went wrong.
|
rebased to run CI once more, but moving to "merge" |
Sorry, something went wrong.
|
Remaining "failure" is [2019-12-13T09:38:02.934Z] === Failed [2019-12-13T09:38:02.934Z] === FAIL: github.com/docker/docker/integration/plugin/volumes (0.00s) [2019-12-13T09:38:02.934Z] INFO: Windows Base image is mcr.microsoft.com/windows/servercore:ltsc2019 [2019-12-13T09:38:02.934Z] ok github.com/docker/docker/integration/plugin/volumes 0.325s Which will be addressed by #40193 |
Sorry, something went wrong.
1. Dockerfile.Windows modified to build gotestsum.exe 2. Use gotestsum.exe in invoking the execution of: (a) Unit tests (run in containers), (b) Integration tests (run outside containers) (c) Integration-cli (run outside containers) No changes made to other categories of tests (e.g. LCOW). 3. Copy .xml files produced by gotestsum in appropriate paths where Jenkins can ingest them 4. Modify Jenkinsfile to mark results output as being jUnit "type" as well as to archive the .xml test result files as artifacts. Signed-off-by: Vikram bir Singh <vikrambir.singh@docker.com> Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
|
All green now. As a follow-up we need to rewrite the test names to match what's used on Linux, so that the Windows tests will appear separate (instead of under github.com/....); Windows currently produces: <testsuite tests="22" failures="0" time="28.840000" name="github.com/docker/docker/integration/build">
<properties>
<property name="go.version" value="go1.13.4 windows/amd64"></property>
</properties>
<testcase classname="github.com/docker/docker/integration/build" name="TestBuildWithSession" time="0.000000">The same test on Linux (amd64) produces: <testsuite tests="32" failures="0" time="171.970000" name="amd64.integration.build">
<properties>
<property name="go.version" value="go1.13.4 linux/amd64"></property>
</properties>
<testcase classname="amd64.integration.build" name="TestBuildWithSession" time="0.000000">
<skipped message="=== RUN TestBuildWithSession
--- SKIP: TestBuildWithSession (0.00s)
 build_session_test.go:25: TODO: BuildKit
"></skipped> |
Sorry, something went wrong.
| Back | FazBrowse Home | New Git URL |
carry of #39971 to make it pick-up the Jenkinsfile changes