aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/cli/internal/core/engine_test.go
diff options
context:
space:
mode:
author简律纯 <hsiangnianian@outlook.com>2023-04-28 01:36:55 +0800
committer简律纯 <hsiangnianian@outlook.com>2023-04-28 01:36:55 +0800
commitfc8c5fdce62fb229202659408798a7b6c98f6e8b (patch)
tree7554f80e50de4af6fd255afa7c21bcdd58a7af34 /cli/internal/core/engine_test.go
parentdd84b9d64fb98746a230cd24233ff50a562c39c9 (diff)
downloadHydroRoll-fc8c5fdce62fb229202659408798a7b6c98f6e8b.tar.gz
HydroRoll-fc8c5fdce62fb229202659408798a7b6c98f6e8b.zip
Diffstat (limited to 'cli/internal/core/engine_test.go')
-rw-r--r--cli/internal/core/engine_test.go88
1 files changed, 0 insertions, 88 deletions
diff --git a/cli/internal/core/engine_test.go b/cli/internal/core/engine_test.go
deleted file mode 100644
index a92264d..0000000
--- a/cli/internal/core/engine_test.go
+++ /dev/null
@@ -1,88 +0,0 @@
-package core
-
-import (
- "errors"
- "testing"
-
- "github.com/vercel/turbo/cli/internal/fs"
- "github.com/vercel/turbo/cli/internal/graph"
- "github.com/vercel/turbo/cli/internal/workspace"
- "gotest.tools/v3/assert"
-
- "github.com/pyr-sh/dag"
-)
-
-func TestShortCircuiting(t *testing.T) {
- var workspaceGraph dag.AcyclicGraph
- workspaceGraph.Add("a")
- workspaceGraph.Add("b")
- workspaceGraph.Add("c")
- // Dependencies: a -> b -> c
- workspaceGraph.Connect(dag.BasicEdge("a", "b"))
- workspaceGraph.Connect(dag.BasicEdge("b", "c"))
-
- buildTask := &fs.BookkeepingTaskDefinition{}
- err := buildTask.UnmarshalJSON([]byte("{\"dependsOn\": [\"^build\"]}"))
- assert.NilError(t, err, "BookkeepingTaskDefinition unmarshall")
-
- pipeline := map[string]fs.BookkeepingTaskDefinition{
- "build": *buildTask,
- }
-
- p := NewEngine(&graph.CompleteGraph{
- WorkspaceGraph: workspaceGraph,
- Pipeline: pipeline,
- TaskDefinitions: map[string]*fs.TaskDefinition{},
- WorkspaceInfos: workspace.Catalog{
- PackageJSONs: map[string]*fs.PackageJSON{
- "//": {},
- "a": {},
- "b": {},
- "c": {},
- },
- TurboConfigs: map[string]*fs.TurboJSON{
- "//": {
- Pipeline: pipeline,
- },
- },
- },
- }, false)
-
- p.AddTask("build")
-
- err = p.Prepare(&EngineBuildingOptions{
- Packages: []string{"a", "b", "c"},
- TaskNames: []string{"build"},
- TasksOnly: false,
- })
-
- if err != nil {
- t.Fatalf("%v", err)
- }
-
- executed := map[string]bool{
- "a#build": false,
- "b#build": false,
- "c#build": false,
- }
- expectedErr := errors.New("an error occurred")
- // b#build is going to error, we expect to not execute a#build, which depends on b
- testVisitor := func(taskID string) error {
- println(taskID)
- executed[taskID] = true
- if taskID == "b#build" {
- return expectedErr
- }
- return nil
- }
-
- errs := p.Execute(testVisitor, EngineExecutionOptions{
- Concurrency: 10,
- })
- assert.Equal(t, len(errs), 1)
- assert.Equal(t, errs[0], expectedErr)
-
- assert.Equal(t, executed["c#build"], true)
- assert.Equal(t, executed["b#build"], true)
- assert.Equal(t, executed["a#build"], false)
-}