mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
492a58f05f
Skipping some of the tests closely tied to running in a unix environment. Windows does not support chmod/chown and this causes some tests to fail creating desired behavior. - `TestBuildWithInaccessibleFilesInContext`: uses chown/chmod - `TestBuildDockerfileOutsideContext`: uses os.Symlink, not implemented on windows - `TestCpUnprivilegedUser`: uses chmod, and requires 'unprivilegeduser' created by Dockerfile (and thus requires to run inside container) - `TestBuildChownSingleFile`: uses chown Signed-off-by: Ahmet Alp Balkan <ahmetalpbalkan@gmail.com>
34 lines
726 B
Go
34 lines
726 B
Go
package main
|
|
|
|
import (
|
|
"testing"
|
|
)
|
|
|
|
type TestCondition func() bool
|
|
|
|
type TestRequirement struct {
|
|
Condition TestCondition
|
|
SkipMessage string
|
|
}
|
|
|
|
// List test requirements
|
|
var (
|
|
SameHostDaemon = TestRequirement{
|
|
func() bool { return isLocalDaemon },
|
|
"Test requires docker daemon to runs on the same machine as CLI",
|
|
}
|
|
UnixCli = TestRequirement{
|
|
func() bool { return isUnixCli },
|
|
"Test requires posix utilities or functionality to run.",
|
|
}
|
|
)
|
|
|
|
// testRequires checks if the environment satisfies the requirements
|
|
// for the test to run or skips the tests.
|
|
func testRequires(t *testing.T, requirements ...TestRequirement) {
|
|
for _, r := range requirements {
|
|
if !r.Condition() {
|
|
t.Skip(r.SkipMessage)
|
|
}
|
|
}
|
|
}
|