github.com/containers/podman/v2@v2.2.2-0.20210501105131-c1e07d070c4c/test/utils/utils_suite_test.go (about)

     1  package utils_test
     2  
     3  import (
     4  	"fmt"
     5  	"io"
     6  	"os/exec"
     7  	"strings"
     8  	"testing"
     9  
    10  	. "github.com/containers/podman/v2/test/utils"
    11  	. "github.com/onsi/ginkgo"
    12  	. "github.com/onsi/gomega"
    13  	"github.com/onsi/gomega/gexec"
    14  )
    15  
    16  var FakeOutputs map[string][]string
    17  var GoechoPath = "../goecho/goecho"
    18  
    19  type FakePodmanTest struct {
    20  	PodmanTest
    21  }
    22  
    23  func FakePodmanTestCreate() *FakePodmanTest {
    24  	FakeOutputs = make(map[string][]string)
    25  	p := &FakePodmanTest{
    26  		PodmanTest: PodmanTest{
    27  			PodmanBinary: GoechoPath,
    28  		},
    29  	}
    30  
    31  	p.PodmanMakeOptions = p.makeOptions
    32  	return p
    33  }
    34  
    35  func (p *FakePodmanTest) makeOptions(args []string, noEvents, noCache bool) []string {
    36  	return FakeOutputs[strings.Join(args, " ")]
    37  }
    38  
    39  func StartFakeCmdSession(args []string) *PodmanSession {
    40  	var outWriter, errWriter io.Writer
    41  	command := exec.Command(GoechoPath, args...)
    42  	session, err := gexec.Start(command, outWriter, errWriter)
    43  	if err != nil {
    44  		fmt.Println(err)
    45  	}
    46  	return &PodmanSession{session}
    47  }
    48  
    49  func TestUtils(t *testing.T) {
    50  	RegisterFailHandler(Fail)
    51  	RunSpecs(t, "Unit test for test utils package")
    52  }