diff options
author | baude <bbaude@redhat.com> | 2019-08-11 11:47:15 -0500 |
---|---|---|
committer | baude <bbaude@redhat.com> | 2019-08-16 10:10:50 -0500 |
commit | 04f2f95bb4ffae161ff0e7f01e381d6c7296fe14 (patch) | |
tree | db0acc0626c914498535f37ebb2965905f080253 /test/endpoint/endpoint_suite_test.go | |
parent | 3f1657d729b4f4c367b3e124621a6f3a9a5769d4 (diff) | |
download | podman-04f2f95bb4ffae161ff0e7f01e381d6c7296fe14.tar.gz podman-04f2f95bb4ffae161ff0e7f01e381d6c7296fe14.tar.bz2 podman-04f2f95bb4ffae161ff0e7f01e381d6c7296fe14.zip |
Create framework for varlink endpoint integration tests
add the ability to write integration tests similar to our e2e tests for
the varlink endpoints.
Signed-off-by: baude <bbaude@redhat.com>
Diffstat (limited to 'test/endpoint/endpoint_suite_test.go')
-rw-r--r-- | test/endpoint/endpoint_suite_test.go | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/test/endpoint/endpoint_suite_test.go b/test/endpoint/endpoint_suite_test.go new file mode 100644 index 000000000..401da94c2 --- /dev/null +++ b/test/endpoint/endpoint_suite_test.go @@ -0,0 +1,70 @@ +package endpoint + +import ( + "fmt" + "io/ioutil" + "os" + "path/filepath" + "testing" + + . "github.com/onsi/ginkgo" + . "github.com/onsi/gomega" +) + +func TestEndpoint(t *testing.T) { + RegisterFailHandler(Fail) + RunSpecs(t, "Endpoint Suite") +} + +var LockTmpDir string + +var _ = SynchronizedBeforeSuite(func() []byte { + // Cache images + cwd, _ := os.Getwd() + INTEGRATION_ROOT = filepath.Join(cwd, "../../") + podman := Setup("/tmp") + podman.ArtifactPath = ARTIFACT_DIR + if _, err := os.Stat(ARTIFACT_DIR); os.IsNotExist(err) { + if err = os.Mkdir(ARTIFACT_DIR, 0777); err != nil { + fmt.Printf("%q\n", err) + os.Exit(1) + } + } + + // make cache dir + if err := os.MkdirAll(ImageCacheDir, 0777); err != nil { + fmt.Printf("%q\n", err) + os.Exit(1) + } + + podman.StartVarlink() + for _, image := range CACHE_IMAGES { + podman.createArtifact(image) + } + podman.StopVarlink() + // If running localized tests, the cache dir is created and populated. if the + // tests are remote, this is a no-op + populateCache(podman) + + path, err := ioutil.TempDir("", "libpodlock") + if err != nil { + fmt.Println(err) + os.Exit(1) + } + return []byte(path) +}, func(data []byte) { + LockTmpDir = string(data) +}) + +var _ = SynchronizedAfterSuite(func() {}, + func() { + podman := Setup("/tmp") + if err := os.RemoveAll(podman.CrioRoot); err != nil { + fmt.Printf("%q\n", err) + os.Exit(1) + } + if err := os.RemoveAll(podman.ImageCacheDir); err != nil { + fmt.Printf("%q\n", err) + os.Exit(1) + } + }) |