mirror of
https://github.com/versity/versitygw.git
synced 2026-07-30 20:12:58 +00:00
feat: add windows functional test coverage and fix some windows behavior
This change adds Windows functional test execution in CI and updates backend handling so windows filesystem error/path semantics map correctly to expected S3 outcomes. The only meta supported on windows right now is sidecar, so the tests in windows mode also skip sidecar skips. Future work is to address the skips and/or more clearly document the unsupported/incompatible behavior on windows. The windows support will still remain best effort, but these tests should at least flag when future changes introduce incompatible behavior on windows.
This commit is contained in:
@@ -44,6 +44,7 @@ var (
|
||||
azureTests bool
|
||||
tlsStatus bool
|
||||
parallel bool
|
||||
windowsTests bool
|
||||
sidecarTests bool
|
||||
)
|
||||
|
||||
@@ -121,6 +122,12 @@ func initTestCommands() []*cli.Command {
|
||||
Destination: &azureTests,
|
||||
Aliases: []string{"azure"},
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: "windows-test-mode",
|
||||
Usage: "Skips tests that are not supported on Windows",
|
||||
Destination: &windowsTests,
|
||||
Aliases: []string{"windows"},
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: "sidecar-test-mode",
|
||||
Usage: "Skips tests that are not supported by Sidecar",
|
||||
@@ -176,6 +183,12 @@ func initTestCommands() []*cli.Command {
|
||||
Destination: &versioningEnabled,
|
||||
Aliases: []string{"vs"},
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: "windows-test-mode",
|
||||
Usage: "Skips tests that are not supported on Windows",
|
||||
Destination: &windowsTests,
|
||||
Aliases: []string{"windows"},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
@@ -421,6 +434,10 @@ func getAction(tf testFunc) func(ctx *cli.Context) error {
|
||||
if azureTests {
|
||||
opts = append(opts, integration.WithAzureMode())
|
||||
}
|
||||
if windowsTests {
|
||||
opts = append(opts, integration.WithWindowsMode())
|
||||
opts = append(opts, integration.WithSidecarMode())
|
||||
}
|
||||
if sidecarTests {
|
||||
opts = append(opts, integration.WithSidecarMode())
|
||||
}
|
||||
@@ -470,6 +487,10 @@ func extractIntTests() (commands []*cli.Command) {
|
||||
if azureTests {
|
||||
opts = append(opts, integration.WithAzureMode())
|
||||
}
|
||||
if windowsTests {
|
||||
opts = append(opts, integration.WithWindowsMode())
|
||||
opts = append(opts, integration.WithSidecarMode())
|
||||
}
|
||||
if sidecarTests {
|
||||
opts = append(opts, integration.WithSidecarMode())
|
||||
}
|
||||
@@ -497,6 +518,12 @@ func extractIntTests() (commands []*cli.Command) {
|
||||
Destination: &sidecarTests,
|
||||
Aliases: []string{"sidecar"},
|
||||
},
|
||||
&cli.BoolFlag{
|
||||
Name: "windows-test-mode",
|
||||
Usage: "Skips tests that are not supported on Windows",
|
||||
Destination: &windowsTests,
|
||||
Aliases: []string{"windows"},
|
||||
},
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user