. "github.com/onsi/ginkgo" . "github.com/onsi/gomega" sigar "github.com/cloudfoundry/gosigar" ) var _ = Describe("ConcreteSigar", func() { var concreteSigar *sigar.ConcreteSigar BeforeEach(func() { concreteSigar = &sigar.ConcreteSigar{} }) Describe("CollectCPUStats", func() { It("immediately makes first CPU usage available even though it's not very accurate", func() { samplesCh, stop := concreteSigar.CollectCPUStats(500 * time.Millisecond) firstValue := <-samplesCh Expect(firstValue.User).To(BeNumerically(">", 0)) stop <- struct{}{} }) It("makes CPU usage delta values available", func() { samplesCh, stop := concreteSigar.CollectCPUStats(500 * time.Millisecond) firstValue := <-samplesCh secondValue := <-samplesCh Expect(secondValue.User).To(BeNumerically("<", firstValue.User))