當前位置: 首頁>>代碼示例>>Golang>>正文


Golang exec.MockRunner類代碼示例

本文整理匯總了Golang中github.com/hashicorp/otto/helper/exec.MockRunner的典型用法代碼示例。如果您正苦於以下問題:Golang MockRunner類的具體用法?Golang MockRunner怎麽用?Golang MockRunner使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了MockRunner類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: TestLayeredPrune_all

func TestLayeredPrune_all(t *testing.T) {
	dir := tempDir(t)
	defer os.RemoveAll(dir)

	runner := new(exec.MockRunner)
	defer exec.TestChrunner(runner.Run)()

	layer := &Layered{
		DataDir: dir,
		Layers: []*Layer{
			testLayer(t, "foo", dir),
			testLayer(t, "bar", dir),
		},
	}

	ctx := testContextShared(t)
	if err := layer.Build(ctx); err != nil {
		t.Fatalf("err: %s", err)
	}

	// Clear the commands because we only want to count those
	runner.Commands = nil
	if _, err := layer.Prune(ctx); err != nil {
		t.Fatalf("err: %s", err)
	}

	// 2 vagrant destroy -f
	if len(runner.Commands) != 2 {
		t.Fatalf("bad: %#v", runner.Commands)
	}
}
開發者ID:rowhit,項目名稱:otto,代碼行數:31,代碼來源:layered_test.go

示例2: TestLayeredPrune

func TestLayeredPrune(t *testing.T) {
	dir := tempDir(t)
	defer os.RemoveAll(dir)

	runner := new(exec.MockRunner)
	defer exec.TestChrunner(runner.Run)()

	// Build an environment using foo and bar
	layer := &Layered{
		DataDir: dir,
		Layers: []*Layer{
			testLayer(t, "foo", dir),
			testLayer(t, "bar", dir),
		},
	}

	ctx := testContextShared(t)
	if err := layer.Build(ctx); err != nil {
		t.Fatalf("err: %s", err)
	}

	// Add an environment
	env := &Vagrant{DataDir: filepath.Join(dir, "v1")}
	if err := layer.ConfigureEnv(env); err != nil {
		t.Fatalf("err: %s", err)
	}
	if err := layer.SetEnv(env, envStateReady); err != nil {
		t.Fatalf("err: %s", err)
	}

	// Clear the commands because we only want to count those
	runner.Commands = nil

	// Prune should not do anything
	if _, err := layer.Prune(ctx); err != nil {
		t.Fatalf("err: %s", err)
	}
	if len(runner.Commands) > 0 {
		t.Fatalf("bad: %#v", runner.Commands)
	}
}
開發者ID:sneal,項目名稱:otto,代碼行數:41,代碼來源:layered_test.go

示例3: TestLayeredBuild_verify

func TestLayeredBuild_verify(t *testing.T) {
	dir := tempDir(t)
	defer os.RemoveAll(dir)

	runner := new(exec.MockRunner)
	defer exec.TestChrunner(runner.Run)()

	// Build an environment using foo and bar
	layer := &Layered{
		DataDir: dir,
		Layers: []*Layer{
			testLayer(t, "foo", dir),
			testLayer(t, "bar", dir),
		},
	}

	ctx := testContextShared(t)
	if err := layer.Build(ctx); err != nil {
		t.Fatalf("err: %s", err)
	}

	if len(runner.Commands) != 6 {
		t.Fatalf("bad: %#v", runner.Commands)
	}

	// Clear the commands so we only count what is next
	runner.Commands = nil

	// Setup the output so we recreate the second
	okayOutput := "1451607142,default,state,running\n"
	runner.CommandOutput = []string{okayOutput, "bad"}

	// Repeat the test since this should be a no-op
	if err := layer.Build(ctx); err != nil {
		t.Fatalf("err: %s", err)
	}
	if len(runner.Commands) != 5 {
		t.Fatalf("bad: %#v", runner.Commands)
	}
}
開發者ID:mbrodala,項目名稱:otto,代碼行數:40,代碼來源:layered_test.go


注:本文中的github.com/hashicorp/otto/helper/exec.MockRunner類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。