Docker-DCO-1.1-Signed-off-by: Victor Vieux <victor.vieux@docker.com> (github: vieux)
This commit is contained in:
Victor Vieux 2014-03-27 19:16:03 +00:00 коммит произвёл Victor Vieux
Родитель 366f084eb0
Коммит 2c8b63cb75
3 изменённых файлов: 28 добавлений и 39 удалений

Просмотреть файл

@ -62,3 +62,24 @@ func TestCommitNewFile(t *testing.T) {
logDone("commit - commit file and read")
}
func TestCommitTTY(t *testing.T) {
cmd := exec.Command(dockerBinary, "run", "-t", "--name", "tty", "busybox", "/bin/ls")
if _, err := runCommand(cmd); err != nil {
t.Fatal(err)
}
cmd = exec.Command(dockerBinary, "commit", "tty", "ttytest")
imageId, _, err := runCommandWithOutput(cmd)
if err != nil {
t.Fatal(err)
}
imageId = strings.Trim(imageId, "\r\n")
cmd = exec.Command(dockerBinary, "run", "ttytest", "/bin/ls")
if _, err := runCommand(cmd); err != nil {
t.Fatal(err)
}
}

Просмотреть файл

@ -3,12 +3,6 @@ package docker
import (
"bufio"
"fmt"
"github.com/dotcloud/docker/api/client"
"github.com/dotcloud/docker/daemon"
"github.com/dotcloud/docker/engine"
"github.com/dotcloud/docker/image"
"github.com/dotcloud/docker/pkg/term"
"github.com/dotcloud/docker/utils"
"io"
"io/ioutil"
"os"
@ -19,6 +13,13 @@ import (
"syscall"
"testing"
"time"
"github.com/dotcloud/docker/api/client"
"github.com/dotcloud/docker/daemon"
"github.com/dotcloud/docker/engine"
"github.com/dotcloud/docker/image"
"github.com/dotcloud/docker/pkg/term"
"github.com/dotcloud/docker/utils"
)
func closeWrap(args ...io.Closer) error {
@ -1163,27 +1164,3 @@ func TestCmdKill(t *testing.T) {
closeWrap(stdin, stdinPipe, stdout, stdoutPipe)
}
func TestRunTTYCommitRun(t *testing.T) {
cli := api.NewDockerCli(nil, ioutil.Discard, ioutil.Discard, testDaemonProto, testDaemonAddr, nil)
defer cleanup(globalEngine, t)
ch := make(chan struct{})
go func() {
defer close(ch)
cli.CmdRun("-t", unitTestImageID, "/bin/ls")
}()
container := waitContainerStart(t, 10*time.Second)
time.Sleep(500 * time.Millisecond)
setTimeout(t, "Waiting for container timedout", 5*time.Second, func() {
<-ch
})
cli.CmdCommit(container.ID, "ttytest")
if err := cli.CmdRun("ttytest", "/bin/ls"); err != nil {
t.Fatal(err)
}
}

Просмотреть файл

@ -65,15 +65,6 @@ func Merge(userConf, imageConf *Config) error {
}
}
if !userConf.Tty {
userConf.Tty = imageConf.Tty
}
if !userConf.OpenStdin {
userConf.OpenStdin = imageConf.OpenStdin
}
if !userConf.StdinOnce {
userConf.StdinOnce = imageConf.StdinOnce
}
if userConf.Env == nil || len(userConf.Env) == 0 {
userConf.Env = imageConf.Env
} else {