本文整理匯總了Golang中github.com/cloudfoundry-incubator/executor/depot/steps.Step類的典型用法代碼示例。如果您正苦於以下問題:Golang Step類的具體用法?Golang Step怎麽用?Golang Step使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了Step類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1:
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/onsi/gomega/gbytes"
)
var _ = Describe("MonitorStep", func() {
var (
fakeStep1 *fakes.FakeStep
fakeStep2 *fakes.FakeStep
checkSteps chan *fakes.FakeStep
checkFunc func() steps.Step
hasBecomeHealthy <-chan struct{}
clock *fakeclock.FakeClock
fakeStreamer *fake_log_streamer.FakeLogStreamer
startTimeout time.Duration
healthyInterval time.Duration
unhealthyInterval time.Duration
step steps.Step
logger *lagertest.TestLogger
)
const numOfConcurrentMonitorSteps = 3
BeforeEach(func() {
startTimeout = 0
healthyInterval = 1 * time.Second
unhealthyInterval = 500 * time.Millisecond
示例2:
"bytes"
"errors"
"github.com/pivotal-golang/lager/lagertest"
"github.com/cloudfoundry-incubator/executor/depot/log_streamer/fake_log_streamer"
"github.com/cloudfoundry-incubator/executor/depot/steps"
"github.com/cloudfoundry-incubator/executor/depot/steps/fakes"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)
var _ = Describe("EmitProgressStep", func() {
var step steps.Step
var subStep steps.Step
var cancelled bool
var errorToReturn error
var fakeStreamer *fake_log_streamer.FakeLogStreamer
var startMessage, successMessage, failureMessage string
var logger *lagertest.TestLogger
var stderrBuffer *bytes.Buffer
var stdoutBuffer *bytes.Buffer
BeforeEach(func() {
stderrBuffer = new(bytes.Buffer)
stdoutBuffer = new(bytes.Buffer)
errorToReturn = nil
startMessage, successMessage, failureMessage = "", "", ""
cancelled = false
示例3: runStepProcess
func (store *GardenStore) runStepProcess(
logger lager.Logger,
step steps.Step,
hasStartedRunning <-chan struct{},
gardenContainer garden.Container,
guid string,
) {
process := ifrit.Invoke(ifrit.RunFunc(func(signals <-chan os.Signal, ready chan<- struct{}) error {
logger := logger.Session("run-step-process")
logger.Info("started")
defer logger.Info("finished")
seqComplete := make(chan error)
close(ready)
go func() {
seqComplete <- step.Perform()
}()
result := executor.ContainerRunResult{}
toldToStop := false
OUTER_LOOP:
for {
select {
case <-signals:
signals = nil
toldToStop = true
logger.Info("signaled")
step.Cancel()
case <-hasStartedRunning:
hasStartedRunning = nil
logger.Info("transitioning-to-running")
err := store.transitionToRunning(logger, gardenContainer)
if err != nil {
logger.Error("failed-transitioning-to-running", err)
result.Failed = true
result.FailureReason = err.Error()
break OUTER_LOOP
}
logger.Info("succeeded-transitioning-to-running")
case err := <-seqComplete:
if err == nil {
logger.Info("step-finished-normally")
} else if toldToStop {
logger.Info("step-cancelled")
result.Stopped = true
} else {
logger.Info("step-finished-with-error", lager.Data{"error": err.Error()})
result.Failed = true
result.FailureReason = err.Error()
}
break OUTER_LOOP
}
}
logger.Info("transitioning-to-complete")
err := store.transitionToComplete(logger, gardenContainer, result)
if err != nil {
logger.Error("failed-transitioning-to-complete", err)
return nil
}
logger.Info("succeeded-transitioning-to-complete")
return nil
}))
store.processesL.Lock()
store.runningProcesses[guid] = process
numProcesses := len(store.runningProcesses)
store.processesL.Unlock()
logger.Info("stored-step-process", lager.Data{"num-step-processes": numProcesses})
}
示例4:
. "github.com/onsi/gomega"
"github.com/onsi/gomega/gbytes"
"github.com/cloudfoundry-incubator/bbs/models"
"github.com/cloudfoundry-incubator/garden"
gfakes "github.com/cloudfoundry-incubator/garden/fakes"
"github.com/pivotal-golang/clock/fakeclock"
"github.com/cloudfoundry-incubator/executor"
"github.com/cloudfoundry-incubator/executor/depot/log_streamer/fake_log_streamer"
"github.com/cloudfoundry-incubator/executor/depot/steps"
"github.com/cloudfoundry-incubator/executor/fakes"
)
var _ = Describe("RunAction", func() {
var step steps.Step
var runAction models.RunAction
var fakeStreamer *fake_log_streamer.FakeLogStreamer
var gardenClient *fakes.FakeGardenClient
var logger *lagertest.TestLogger
var fileDescriptorLimit uint64
var externalIP string
var portMappings []executor.PortMapping
var exportNetworkEnvVars bool
var fakeClock *fakeclock.FakeClock
var spawnedProcess *gfakes.FakeProcess
var runError error
BeforeEach(func() {
示例5:
"github.com/cloudfoundry-incubator/executor/depot/log_streamer/fake_log_streamer"
"github.com/cloudfoundry-incubator/executor/depot/steps"
"github.com/cloudfoundry-incubator/executor/fakes"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/onsi/gomega/gbytes"
archiveHelper "github.com/pivotal-golang/archiver/extractor/test_helper"
)
var _ = Describe("DownloadAction", func() {
var (
step steps.Step
downloadAction models.DownloadAction
cache *cdfakes.FakeCachedDownloader
gardenClient *fakes.FakeGardenClient
fakeStreamer *fake_log_streamer.FakeLogStreamer
logger *lagertest.TestLogger
rateLimiter chan struct{}
)
handle := "some-container-handle"
BeforeEach(func() {
cache = &cdfakes.FakeCachedDownloader{}
cache.FetchReturns(ioutil.NopCloser(new(bytes.Buffer)), 42, nil)
downloadAction = models.DownloadAction{
From: "http://mr_jones",
To: "/tmp/Antarctica",
CacheKey: "the-cache-key",