github.com/containers/podman/v5@v5.1.0-rc1/test/utils/utils_suite_test.go (about)

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