mirror of
https://github.com/containers/podman.git
synced 2025-08-06 03:19:52 +08:00
Separate common used test functions and structs to test/utils
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>
This commit is contained in:
52
test/utils/utils_suite_test.go
Normal file
52
test/utils/utils_suite_test.go
Normal file
@ -0,0 +1,52 @@
|
||||
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")
|
||||
}
|
Reference in New Issue
Block a user