mirror of
https://github.com/containers/podman.git
synced 2025-05-22 09:36:57 +08:00

Put common used test functions and structs to a separated package. So we can use them for more testsuites. Signed-off-by: Yiqiao Pu <ypu@redhat.com>
53 lines
1.0 KiB
Go
53 lines
1.0 KiB
Go
package utils_test
|
|
|
|
import (
|
|
"fmt"
|
|
"io"
|
|
"os/exec"
|
|
"strings"
|
|
"testing"
|
|
|
|
. "github.com/containers/libpod/test/utils"
|
|
. "github.com/onsi/ginkgo"
|
|
. "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) []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 {
|
|
fmt.Println(err)
|
|
}
|
|
return &PodmanSession{session}
|
|
}
|
|
|
|
func TestUtils(t *testing.T) {
|
|
RegisterFailHandler(Fail)
|
|
RunSpecs(t, "Unit test for test utils package")
|
|
}
|