mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Merge pull request #16556 from Microsoft/10662-randomunix
Make 'TestRandomUnixTmpDirPath' platform agnostic
This commit is contained in:
commit
de8b5c46cc
5 changed files with 23 additions and 14 deletions
|
@ -191,7 +191,7 @@ func (s *DockerSuite) TestContainerApiStartVolumeBinds(c *check.C) {
|
||||||
c.Assert(err, check.IsNil)
|
c.Assert(err, check.IsNil)
|
||||||
c.Assert(status, check.Equals, http.StatusCreated)
|
c.Assert(status, check.Equals, http.StatusCreated)
|
||||||
|
|
||||||
bindPath := randomUnixTmpDirPath("test")
|
bindPath := randomTmpDirPath("test")
|
||||||
config = map[string]interface{}{
|
config = map[string]interface{}{
|
||||||
"Binds": []string{bindPath + ":/tmp"},
|
"Binds": []string{bindPath + ":/tmp"},
|
||||||
}
|
}
|
||||||
|
@ -222,8 +222,8 @@ func (s *DockerSuite) TestContainerApiStartDupVolumeBinds(c *check.C) {
|
||||||
c.Assert(err, check.IsNil)
|
c.Assert(err, check.IsNil)
|
||||||
c.Assert(status, check.Equals, http.StatusCreated)
|
c.Assert(status, check.Equals, http.StatusCreated)
|
||||||
|
|
||||||
bindPath1 := randomUnixTmpDirPath("test1")
|
bindPath1 := randomTmpDirPath("test1")
|
||||||
bindPath2 := randomUnixTmpDirPath("test2")
|
bindPath2 := randomTmpDirPath("test2")
|
||||||
|
|
||||||
config = map[string]interface{}{
|
config = map[string]interface{}{
|
||||||
"Binds": []string{bindPath1 + ":/tmp", bindPath2 + ":/tmp"},
|
"Binds": []string{bindPath1 + ":/tmp", bindPath2 + ":/tmp"},
|
||||||
|
|
|
@ -322,8 +322,8 @@ func (s *DockerSuite) TestRunNoDupVolumes(c *check.C) {
|
||||||
// TODO Windows: This test cannot run on a Windows daemon as Windows does
|
// TODO Windows: This test cannot run on a Windows daemon as Windows does
|
||||||
// not support volumes
|
// not support volumes
|
||||||
testRequires(c, DaemonIsLinux)
|
testRequires(c, DaemonIsLinux)
|
||||||
mountstr1 := randomUnixTmpDirPath("test1") + ":/someplace"
|
mountstr1 := randomTmpDirPath("test1") + ":/someplace"
|
||||||
mountstr2 := randomUnixTmpDirPath("test2") + ":/someplace"
|
mountstr2 := randomTmpDirPath("test2") + ":/someplace"
|
||||||
|
|
||||||
if out, _, err := dockerCmdWithError("run", "-v", mountstr1, "-v", mountstr2, "busybox", "true"); err == nil {
|
if out, _, err := dockerCmdWithError("run", "-v", mountstr1, "-v", mountstr2, "busybox", "true"); err == nil {
|
||||||
c.Fatal("Expected error about duplicate volume definitions")
|
c.Fatal("Expected error about duplicate volume definitions")
|
||||||
|
@ -2015,7 +2015,7 @@ func (s *DockerSuite) TestVolumesNoCopyData(c *check.C) {
|
||||||
c.Fatalf("Data was copied on volumes-from but shouldn't be:\n%q", out)
|
c.Fatalf("Data was copied on volumes-from but shouldn't be:\n%q", out)
|
||||||
}
|
}
|
||||||
|
|
||||||
tmpDir := randomUnixTmpDirPath("docker_test_bind_mount_copy_data")
|
tmpDir := randomTmpDirPath("docker_test_bind_mount_copy_data")
|
||||||
if out, _, err := dockerCmdWithError("run", "-v", tmpDir+":/foo", "dataimage", "ls", "-lh", "/foo/bar"); err == nil || !strings.Contains(out, "No such file or directory") {
|
if out, _, err := dockerCmdWithError("run", "-v", tmpDir+":/foo", "dataimage", "ls", "-lh", "/foo/bar"); err == nil || !strings.Contains(out, "No such file or directory") {
|
||||||
c.Fatalf("Data was copied on bind-mount but shouldn't be:\n%q", out)
|
c.Fatalf("Data was copied on bind-mount but shouldn't be:\n%q", out)
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,8 +61,8 @@ func listTar(f io.Reader) ([]string, error) {
|
||||||
return integration.ListTar(f)
|
return integration.ListTar(f)
|
||||||
}
|
}
|
||||||
|
|
||||||
func randomUnixTmpDirPath(s string) string {
|
func randomTmpDirPath(s string) string {
|
||||||
return integration.RandomUnixTmpDirPath(s)
|
return integration.RandomTmpDirPath(s)
|
||||||
}
|
}
|
||||||
|
|
||||||
func consumeWithSpeed(reader io.Reader, chunkSize int, interval time.Duration, stop chan bool) (n int, err error) {
|
func consumeWithSpeed(reader io.Reader, chunkSize int, interval time.Duration, stop chan bool) (n int, err error) {
|
||||||
|
|
|
@ -9,8 +9,9 @@ import (
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"path"
|
"path/filepath"
|
||||||
"reflect"
|
"reflect"
|
||||||
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
"syscall"
|
"syscall"
|
||||||
"time"
|
"time"
|
||||||
|
@ -244,10 +245,14 @@ func ListTar(f io.Reader) ([]string, error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// RandomUnixTmpDirPath provides a temporary unix path with rand string appended.
|
// RandomTmpDirPath provides a temporary path with rand string appended.
|
||||||
// does not create or checks if it exists.
|
// does not create or checks if it exists.
|
||||||
func RandomUnixTmpDirPath(s string) string {
|
func RandomTmpDirPath(s string) string {
|
||||||
return path.Join("/tmp", fmt.Sprintf("%s.%s", s, stringutils.GenerateRandomAlphaOnlyString(10)))
|
tmp := "/tmp"
|
||||||
|
if runtime.GOOS == "windows" {
|
||||||
|
tmp = os.Getenv("TEMP")
|
||||||
|
}
|
||||||
|
return filepath.Join(tmp, fmt.Sprintf("%s.%s", s, stringutils.GenerateRandomAlphaOnlyString(10)))
|
||||||
}
|
}
|
||||||
|
|
||||||
// ConsumeWithSpeed reads chunkSize bytes from reader after every interval.
|
// ConsumeWithSpeed reads chunkSize bytes from reader after every interval.
|
||||||
|
|
|
@ -6,6 +6,7 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"path"
|
"path"
|
||||||
|
"runtime"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
@ -341,10 +342,13 @@ func TestListTar(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestRandomUnixTmpDirPath(t *testing.T) {
|
func TestRandomTmpDirPath(t *testing.T) {
|
||||||
path := RandomUnixTmpDirPath("something")
|
path := RandomTmpDirPath("something")
|
||||||
|
|
||||||
prefix := "/tmp/something"
|
prefix := "/tmp/something"
|
||||||
|
if runtime.GOOS == "windows" {
|
||||||
|
prefix = os.Getenv("TEMP") + `\something`
|
||||||
|
}
|
||||||
expectedSize := len(prefix) + 11
|
expectedSize := len(prefix) + 11
|
||||||
|
|
||||||
if !strings.HasPrefix(path, prefix) {
|
if !strings.HasPrefix(path, prefix) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue