Track the time it takes to start&stop the fixtures

This commit is contained in:
Gareth Smith 2017-11-27 17:42:32 +00:00
parent eca5aace13
commit e2a217b37b
2 changed files with 26 additions and 9 deletions

View File

@ -6,6 +6,9 @@ import (
"testing" "testing"
"os"
"path/filepath"
"github.com/onsi/gomega/gexec" "github.com/onsi/gomega/gexec"
) )
@ -14,6 +17,19 @@ func TestIntegration(t *testing.T) {
RunSpecs(t, "Integration Suite") RunSpecs(t, "Integration Suite")
} }
var (
defaultPathToEtcd string
defaultPathToApiserver string
)
var _ = BeforeSuite(func() {
assetsDir, ok := os.LookupEnv("KUBE_ASSETS_DIR")
Expect(ok).To(BeTrue(), "Expected $KUBE_ASSETS_DIR to be set")
defaultPathToEtcd = filepath.Join(assetsDir, "etcd")
defaultPathToApiserver = filepath.Join(assetsDir, "kube-apiserver")
})
var _ = AfterSuite(func() { var _ = AfterSuite(func() {
gexec.TerminateAndWait() gexec.TerminateAndWait()
}) })

View File

@ -3,8 +3,6 @@ package integration_test
import ( import (
"fmt" "fmt"
"net" "net"
"os"
"path/filepath"
"time" "time"
. "github.com/onsi/ginkgo" . "github.com/onsi/ginkgo"
@ -14,13 +12,7 @@ import (
var _ = Describe("Integration", func() { var _ = Describe("Integration", func() {
It("Successfully manages the fixtures lifecycle", func() { It("Successfully manages the fixtures lifecycle", func() {
assetsDir, ok := os.LookupEnv("KUBE_ASSETS_DIR") fixtures := test.NewFixtures(defaultPathToEtcd, defaultPathToApiserver)
Expect(ok).To(BeTrue(), "Expected $KUBE_ASSETS_DIR to be set")
pathToEtcd := filepath.Join(assetsDir, "etcd")
pathToApiserver := filepath.Join(assetsDir, "kube-apiserver")
fixtures := test.NewFixtures(pathToEtcd, pathToApiserver)
err := fixtures.Start() err := fixtures.Start()
Expect(err).NotTo(HaveOccurred(), "Expected fixtures to start successfully") Expect(err).NotTo(HaveOccurred(), "Expected fixtures to start successfully")
@ -40,6 +32,15 @@ var _ = Describe("Integration", func() {
By("Ensuring APIServer is not listening anymore") By("Ensuring APIServer is not listening anymore")
Expect(isAPIServerListening()).To(BeFalse(), "Expected APIServer not to listen anymore") Expect(isAPIServerListening()).To(BeFalse(), "Expected APIServer not to listen anymore")
}) })
Measure("It should be fast to bring up and tear down the fixtures", func(b Benchmarker) {
b.Time("lifecycle", func() {
fixtures := test.NewFixtures(defaultPathToEtcd, defaultPathToApiserver)
fixtures.Start()
fixtures.Stop()
})
}, 10)
}) })
type portChecker func() bool type portChecker func() bool