move t from arg to env

This commit is contained in:
Victor Vieux 2013-12-11 15:36:50 -08:00
parent dbe1915fee
commit 6ba456ff87
3 changed files with 11 additions and 16 deletions

4
api.go
View File

@ -687,9 +687,7 @@ func postContainersStop(srv *Server, version float64, w http.ResponseWriter, r *
return fmt.Errorf("Missing parameter")
}
job := srv.Eng.Job("stop", vars["name"])
if t := r.Form.Get("t"); t != "" {
job.Args = append(job.Args, t)
}
job.Setenv("t", r.Form.Get("t"))
if err := job.Run(); err != nil {
return err
}

View File

@ -128,7 +128,9 @@ func TestCreateRmVolumes(t *testing.T) {
t.Fatal(err)
}
if err := eng.Job("stop", id, "1").Run(); err != nil {
job = eng.Job("stop", id)
job.SetenvInt("t", 1)
if err := job.Run(); err != nil {
t.Fatal(err)
}
@ -186,7 +188,9 @@ func TestCreateStartRestartStopStartKillRm(t *testing.T) {
t.Fatal(err)
}
if err := eng.Job("stop", id, "15").Run(); err != nil {
job = eng.Job("stop", id)
job.SetenvInt("t", 15)
if err := job.Run(); err != nil {
t.Fatal(err)
}

View File

@ -1718,20 +1718,13 @@ func (srv *Server) ContainerStart(job *engine.Job) engine.Status {
}
func (srv *Server) ContainerStop(job *engine.Job) engine.Status {
if len(job.Args) < 1 {
job.Errorf("Not enough arguments. Usage: %s CONTAINER TIMEOUT\n", job.Name)
if len(job.Args) != 1 {
job.Errorf("Usage: %s CONTAINER\n", job.Name)
return engine.StatusErr
}
name := job.Args[0]
var t uint64
if len(job.Args) == 2 {
var err error
t, err = strconv.ParseUint(job.Args[1], 10, 32)
if err != nil {
job.Errorf("Invalid delay format: %s. Please provide an integer number of seconds.\n", job.Args[1])
return engine.StatusErr
}
} else {
t := job.GetenvInt("t")
if t == -1 {
t = 10
}
if container := srv.runtime.Get(name); container != nil {