diff options
author | Sascha Grunert <sgrunert@suse.com> | 2019-04-03 12:32:49 +0200 |
---|---|---|
committer | Sascha Grunert <sgrunert@suse.com> | 2019-04-04 08:53:32 +0200 |
commit | 88b0e74e0bcd651cf00a9bdad3ebedd317330c91 (patch) | |
tree | b877ea5f97e49a2901f13cc55941be8e8acc8ccd /test/framework/framework.go | |
parent | 4bda5378b1434951dbbdf1b6101d662cbf708098 (diff) | |
download | podman-88b0e74e0bcd651cf00a9bdad3ebedd317330c91.tar.gz podman-88b0e74e0bcd651cf00a9bdad3ebedd317330c91.tar.bz2 podman-88b0e74e0bcd651cf00a9bdad3ebedd317330c91.zip |
Update registrar unit tests to match them of cri-o
- Add the test framework abstraction
- Update the unit tests to run with ginkgo
Signed-off-by: Sascha Grunert <sgrunert@suse.com>
Diffstat (limited to 'test/framework/framework.go')
-rw-r--r-- | test/framework/framework.go | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/test/framework/framework.go b/test/framework/framework.go new file mode 100644 index 000000000..52401faf8 --- /dev/null +++ b/test/framework/framework.go @@ -0,0 +1,56 @@ +package framework + +import ( + "fmt" + + "github.com/onsi/ginkgo" + "github.com/onsi/gomega" +) + +// TestFramework is used to support commonnly used test features +type TestFramework struct { + setup func(*TestFramework) error + teardown func(*TestFramework) error + TestError error +} + +// NewTestFramework creates a new test framework instance for a given `setup` +// and `teardown` function +func NewTestFramework( + setup func(*TestFramework) error, + teardown func(*TestFramework) error, +) *TestFramework { + return &TestFramework{ + setup, + teardown, + fmt.Errorf("error"), + } +} + +// NilFn is a convenience function which simply does nothing +func NilFunc(f *TestFramework) error { + return nil +} + +// Setup is the global initialization function which runs before each test +// suite +func (t *TestFramework) Setup() { + // Global initialization for the whole framework goes in here + + // Setup the actual test suite + gomega.Expect(t.setup(t)).To(gomega.Succeed()) +} + +// Teardown is the global deinitialization function which runs after each test +// suite +func (t *TestFramework) Teardown() { + // Global deinitialization for the whole framework goes in here + + // Teardown the actual test suite + gomega.Expect(t.teardown(t)).To(gomega.Succeed()) +} + +// Describe is a convenience wrapper around the `ginkgo.Describe` function +func (t *TestFramework) Describe(text string, body func()) bool { + return ginkgo.Describe("libpod: "+text, body) +} |