当前位置: 首页>>代码示例>>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;未经允许,请勿转载。