mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
fix TestExecWithUserAfterLiveRestore
When container's status is running, shell command may have not executed end. So if we use 'docker exec -u test' to execute command, it may fail since user 'test' have not be added yet. Signed-off-by: Fengtu Wang <wangfengtu@huawei.com>
This commit is contained in:
parent
51aa2a226e
commit
c7c6167bca
1 changed files with 5 additions and 1 deletions
|
@ -2788,11 +2788,15 @@ func (s *DockerDaemonSuite) TestExecWithUserAfterLiveRestore(c *check.C) {
|
|||
testRequires(c, DaemonIsLinux)
|
||||
s.d.StartWithBusybox(c, "--live-restore")
|
||||
|
||||
out, err := s.d.Cmd("run", "-d", "--name=top", "busybox", "sh", "-c", "addgroup -S test && adduser -S -G test test -D -s /bin/sh && top")
|
||||
out, err := s.d.Cmd("run", "-d", "--name=top", "busybox", "sh", "-c", "addgroup -S test && adduser -S -G test test -D -s /bin/sh && touch /adduser_end && top")
|
||||
c.Assert(err, check.IsNil, check.Commentf("Output: %s", out))
|
||||
|
||||
s.d.WaitRun("top")
|
||||
|
||||
// Wait for shell command to be completed
|
||||
_, err = s.d.Cmd("exec", "top", "sh", "-c", `for i in $(seq 1 5); do if [ -e /adduser_end ]; then rm -f /adduser_end && break; else sleep 1 && false; fi; done`)
|
||||
c.Assert(err, check.IsNil, check.Commentf("Timeout waiting for shell command to be completed"))
|
||||
|
||||
out1, err := s.d.Cmd("exec", "-u", "test", "top", "id")
|
||||
// uid=100(test) gid=101(test) groups=101(test)
|
||||
c.Assert(err, check.IsNil, check.Commentf("Output: %s", out1))
|
||||
|
|
Loading…
Add table
Reference in a new issue