package main

import (
	"os/exec"
	"strings"
	"sync"
	"testing"
	"time"
)

func TestMultipleAttachRestart(t *testing.T) {
	cmd := exec.Command(dockerBinary, "run", "--name", "attacher", "-d", "busybox",
		"/bin/sh", "-c", "sleep 1 && echo hello")

	group := sync.WaitGroup{}
	group.Add(4)

	go func() {
		defer group.Done()
		out, _, err := runCommandWithOutput(cmd)
		if err != nil {
			t.Fatal(err, out)
		}
	}()
	time.Sleep(500 * time.Millisecond)

	for i := 0; i < 3; i++ {
		go func() {
			defer group.Done()
			c := exec.Command(dockerBinary, "attach", "attacher")

			out, _, err := runCommandWithOutput(c)
			if err != nil {
				t.Fatal(err, out)
			}
			if actual := strings.Trim(out, "\r\n"); actual != "hello" {
				t.Fatalf("unexpected output %s expected hello", actual)
			}
		}()
	}

	group.Wait()

	cmd = exec.Command(dockerBinary, "kill", "attacher")
	if _, err := runCommand(cmd); err != nil {
		t.Fatal(err)
	}
	deleteAllContainers()

	logDone("run - multiple attach")
}
