-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tests: enabling integration tests on windows #5027
base: master
Are you sure you want to change the base?
Conversation
1ae55c8
to
4b58340
Compare
7fe1b3d
to
b15d975
Compare
b2909ae
to
7785351
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Atm. all the skipped tests seem to take 40sec to complete (and 46min total).
--- SKIP: TestIntegration/TestCacheMultiPlatformImportExport/worker=containerd/frontend=builtin (40.72s)
--- SKIP: TestIntegration/TestCacheMultiPlatformImportExport/worker=containerd/frontend=client (40.29s)
--- SKIP: TestIntegration/TestAllTargetUnmarshal/worker=containerd/frontend=builtin (40.32s)
--- SKIP: TestIntegration/TestAllTargetUnmarshal/worker=containerd/frontend=client (40.26s)
--- SKIP: TestIntegration/TestBaseImagePlatformMismatch/worker=containerd/frontend=client (40.30s)
--- PASS: TestIntegration/TestEnvEmptyFormatting/worker=containerd/frontend=client (68.83s)
--- PASS: TestIntegration/TestEnvEmptyFormatting/worker=containerd/frontend=builtin (68.28s)
PTAL why this is so. Maybe something with the registry mirrors and all these tests are doing pulls of images.
12e3fe7
to
a6199fc
Compare
@tonistiigi -- as for the time being wasted on the skipped tests, I'm wondering if a better approach would be not to enumerate them in the first place. What do you think about this approach? For example: var unixTests = []func(t *testing.T, sb integration.Sandbox){
testCmdShell,
testGlobalArg,
// ...
}
var windowsTests = []func(t *testing.T, sb integration.Sandbox){}
var allPlatformTests = []func(t *testing.T, sb integration.Sandbox){
testEnvEmptyFormatting,
testDockerignoreOverride,
testEmptyDestDir,
}
var selectedTests = integration.UnixOrWindows(
[2][]func(t *testing.T, sb integration.Sandbox){unixTests, windowsTests})
var allTests = integration.TestFuncs(append(selectedTests, allPlatformTests...)...) |
That seems unnecessary as we need to fix the issue with |
562278d
to
4e57419
Compare
As a follow up of moby#5027, we will be adding more tests in batches of 3 - 5, to bring the coverage at par with Linux where applicable. Tests completed in `frontend/dockerfile`: - [x] `testTarExporterBasic` - [x] `testWorkdirCreatesDir` - [x] `testCacheReleased` - [x] `testSymlinkedDockerfile`
As a follow up of moby#5027, we will be adding more tests in batches of 10-15, to bring the coverage at par with Linux where applicable. Tests completed in `frontend/dockerfile`: - [x] `testTarExporterBasic` - [x] `testWorkdirCreatesDir` - [x] `testCacheReleased` - [x] `testSymlinkedDockerfile` - [x] `testMultiArgs` - [x] `testContextChangeDirToFile` - [ ] `testDefaultShellAndPath` (skipped, to revisit) - [ ] `testExportMultiPlatform` (skipped, to revisit multi-platform support on Windows) - [x] `testNoSnapshotLeak` - [x] `testCopyFollowAllSymlinks` - [x] `testCopySymlinks` - [x] `testHTTPDockerfile` - [x] `testCmdShell` - [x] `testInvalidJSONCommands` (flaky, due to port detection for registry.exe server) - [x] `testGlobalArg` - [ ] `testDockerfileDirs` Signed-off-by: Anthony Nandaa <[email protected]>
The immediate killing of the processes was causing the tests to be flaky, with such errors:
Decided to go with 1 sec wait if the process fails to respond to SIGTERM. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Some nits.
As a follow up of moby#5027, we will be adding more tests in batches of 10-15, to bring the coverage at par with Linux where applicable. Tests completed in `frontend/dockerfile`: - [x] `testTarExporterBasic` - [x] `testWorkdirCreatesDir` - [x] `testCacheReleased` - [x] `testSymlinkedDockerfile` - [x] `testMultiArgs` - [x] `testContextChangeDirToFile` - [ ] `testDefaultShellAndPath` (skipped, to revisit) - [ ] `testExportMultiPlatform` (skipped, to revisit multi-platform support on Windows) - [x] `testNoSnapshotLeak` - [x] `testCopyFollowAllSymlinks` - [x] `testCopySymlinks` - [x] `testHTTPDockerfile` - [x] `testCmdShell` - [x] `testInvalidJSONCommands` (flaky, due to port detection for registry.exe server) - [x] `testGlobalArg` - [ ] `testDockerfileDirs` Signed-off-by: Anthony Nandaa <[email protected]>
dbce339
to
ca358be
Compare
3393573
to
5f3975b
Compare
Still we have some flakiness in the pipeline. Can't repro on local though, investigating.
|
437691d
to
1930004
Compare
I could finally repro it on my local too (just needed to run the whole test suite with
[1]
Let me revisit the running in parallel option later. Noting it on #4485 |
1930004
to
ac08475
Compare
68f92b3
to
f7aa174
Compare
6a8989b
to
fc82b67
Compare
Seems I was wrong on my analysis still. The runner is generally flaky. Let me investigate further... |
Starting off with this one as a POC on the approach, before we proceed to complete the rest under `/frontend/dockerfile`. Tests covered so far: - [x] `/frontend/dockerfile: testEnvEmptyFormatting` - [x] `/frontend/dockerfile: testDockerignoreOverride` - [x] `/frontend/dockerfile: caseEmptyDestDir` Starts addressing moby#4485 Signed-off-by: Anthony Nandaa <[email protected]>
fc82b67
to
d71fe0f
Compare
As a follow up of moby#5027, we will be adding more tests in batches of 10-15, to bring the coverage at par with Linux where applicable. Tests completed in `frontend/dockerfile`: - [x] `testTarExporterBasic` - [x] `testWorkdirCreatesDir` - [x] `testCacheReleased` - [x] `testSymlinkedDockerfile` - [x] `testMultiArgs` - [x] `testContextChangeDirToFile` - [ ] `testDefaultShellAndPath` (skipped, to revisit) - [ ] `testExportMultiPlatform` (skipped, to revisit multi-platform support on Windows) - [x] `testNoSnapshotLeak` - [x] `testCopyFollowAllSymlinks` - [x] `testCopySymlinks` - [x] `testHTTPDockerfile` - [x] `testCmdShell` - [x] `testInvalidJSONCommands` (flaky, due to port detection for registry.exe server) - [x] `testGlobalArg` - [ ] `testDockerfileDirs` Signed-off-by: Anthony Nandaa <[email protected]>
As a follow up of moby#5027, we will be adding more tests in batches of 10-15, to bring the coverage at par with Linux where applicable. Tests completed in `frontend/dockerfile`: - [x] `testTarExporterBasic` - [x] `testWorkdirCreatesDir` - [x] `testCacheReleased` - [x] `testSymlinkedDockerfile` - [x] `testMultiArgs` - [x] `testContextChangeDirToFile` - [ ] `testDefaultShellAndPath` (skipped, to revisit) - [ ] `testExportMultiPlatform` (skipped, to revisit multi-platform support on Windows) - [x] `testNoSnapshotLeak` - [x] `testCopyFollowAllSymlinks` - [x] `testCopySymlinks` - [x] `testHTTPDockerfile` - [x] `testCmdShell` - [x] `testInvalidJSONCommands` (flaky, due to port detection for registry.exe server) - [x] `testGlobalArg` - [ ] `testDockerfileDirs` Signed-off-by: Anthony Nandaa <[email protected]>
Depends on #4994
Started addressing #4485
Starting off with this one as a POC on the approach, before we proceed to complete the rest under
/frontend/dockerfile
.Tests covered so far:
/frontend/dockerfile: testEnvEmptyFormatting
/frontend/dockerfile: testDockerignoreOverride
/frontend/dockerfile: caseEmptyDestDir