Signed-off-by: Lorenzo Fontana <fontanalorenzo@me.com>
| ... | ... |
@@ -7,6 +7,7 @@ import ( |
| 7 | 7 |
"regexp" |
| 8 | 8 |
"strconv" |
| 9 | 9 |
"strings" |
| 10 |
+ "sync" |
|
| 10 | 11 |
"time" |
| 11 | 12 |
|
| 12 | 13 |
"github.com/go-check/check" |
| ... | ... |
@@ -65,9 +66,29 @@ func (s *DockerSuite) TestEventsContainerFailStartDie(c *check.C) {
|
| 65 | 65 |
} |
| 66 | 66 |
|
| 67 | 67 |
func (s *DockerSuite) TestEventsLimit(c *check.C) {
|
| 68 |
- for i := 0; i < 30; i++ {
|
|
| 69 |
- dockerCmd(c, "run", "busybox", "echo", strconv.Itoa(i)) |
|
| 68 |
+ |
|
| 69 |
+ var waitGroup sync.WaitGroup |
|
| 70 |
+ errChan := make(chan error, 17) |
|
| 71 |
+ |
|
| 72 |
+ args := []string{"run", "--rm", "busybox", "true"}
|
|
| 73 |
+ for i := 0; i < 17; i++ {
|
|
| 74 |
+ waitGroup.Add(1) |
|
| 75 |
+ go func() {
|
|
| 76 |
+ defer waitGroup.Done() |
|
| 77 |
+ err := exec.Command(dockerBinary, args...).Run() |
|
| 78 |
+ errChan <- err |
|
| 79 |
+ }() |
|
| 80 |
+ } |
|
| 81 |
+ |
|
| 82 |
+ waitGroup.Wait() |
|
| 83 |
+ close(errChan) |
|
| 84 |
+ |
|
| 85 |
+ for err := range errChan {
|
|
| 86 |
+ if err != nil {
|
|
| 87 |
+ c.Fatalf("%q failed with error: %v", strings.Join(args, " "), err)
|
|
| 88 |
+ } |
|
| 70 | 89 |
} |
| 90 |
+ |
|
| 71 | 91 |
eventsCmd := exec.Command(dockerBinary, "events", "--since=0", fmt.Sprintf("--until=%d", daemonTime(c).Unix()))
|
| 72 | 92 |
out, _, _ := runCommandWithOutput(eventsCmd) |
| 73 | 93 |
events := strings.Split(out, "\n") |