Files
podman/test/utils/utils_suite_test.go
Paul Holzinger fb7a96638c test/e2e: switch to GinkgoWriter
Directly writing to stdout/err is not safe when run in parallel.
Ginkgo v2 fixed this buffering the output and syncing the output so it
is not mangled between tests.

This means we should use the GinkgoWriter everywhere to make sure the
output stays in sync.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2023-05-02 11:27:38 +02:00

52 lines
1.1 KiB
Go

package utils_test
import (
"io"
"os/exec"
"strings"
"testing"
. "github.com/containers/podman/v4/test/utils"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
"github.com/onsi/gomega/gexec"
)
var FakeOutputs map[string][]string
var GoechoPath = "../goecho/goecho"
type FakePodmanTest struct {
PodmanTest
}
func FakePodmanTestCreate() *FakePodmanTest {
FakeOutputs = make(map[string][]string)
p := &FakePodmanTest{
PodmanTest: PodmanTest{
PodmanBinary: GoechoPath,
},
}
p.PodmanMakeOptions = p.makeOptions
return p
}
func (p *FakePodmanTest) makeOptions(args []string, noEvents, noCache bool) []string {
return FakeOutputs[strings.Join(args, " ")]
}
func StartFakeCmdSession(args []string) *PodmanSession {
var outWriter, errWriter io.Writer
command := exec.Command(GoechoPath, args...)
session, err := gexec.Start(command, outWriter, errWriter)
if err != nil {
GinkgoWriter.Println(err)
}
return &PodmanSession{session}
}
func TestUtils(t *testing.T) {
RegisterFailHandler(Fail)
RunSpecs(t, "Unit test for test utils package")
}