Skip to content

Commit

Permalink
Fix flaky getTargetsFromArgs tests (#356)
Browse files Browse the repository at this point in the history
  • Loading branch information
jaredpalmer committed Dec 18, 2021
1 parent 7be3004 commit 5799c7d
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 12 deletions.
12 changes: 8 additions & 4 deletions cli/internal/context/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ type Context struct {
Lockfile *fs.YarnLockfile
SCC [][]dag.Vertex
PendingTaskNodes dag.Set
Targets util.Set
Targets []string
Backend *api.LanguageBackend
// Used to arbitrate access to the graph. We parallelise most build operations
// and Go maps aren't natively threadsafe so this is needed.
Expand Down Expand Up @@ -355,7 +355,9 @@ func (c *Context) ResolveWorkspaceRootDeps() (*fs.PackageJSON, error) {
return pkg, nil
}

func GetTargetsFromArguments(arguments []string, configJson *fs.TurboConfigJSON) (util.Set, error) {
// GetTargetsFromArguments returns a list of targets from the arguments and Turbo config.
// Return targets are always unique sorted alphabetically.
func GetTargetsFromArguments(arguments []string, configJson *fs.TurboConfigJSON) ([]string, error) {
targets := make(util.Set)
for _, arg := range arguments {
if arg == "--" {
Expand All @@ -370,11 +372,13 @@ func GetTargetsFromArguments(arguments []string, configJson *fs.TurboConfigJSON)
}
}
if !found {
return nil, fmt.Errorf("Task `%v` not found in turbo pipeline in package.json. Are you sure you added it?", arg)
return nil, fmt.Errorf("task `%v` not found in turbo pipeline in package.json. Are you sure you added it?", arg)
}
}
}
return targets, nil
stringTargets := targets.UnsafeListOfStrings()
sort.Strings(stringTargets)
return stringTargets, nil
}

func (c *Context) populateTopologicGraphForPackageJson(pkg *fs.PackageJSON) error {
Expand Down
5 changes: 3 additions & 2 deletions cli/internal/context/context_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,9 @@ func TestGetTargetsFromArguments(t *testing.T) {
t.Errorf("GetTargetsFromArguments() error = %v, wantErr %v", err, tt.wantErr)
return
}
if !reflect.DeepEqual(got.UnsafeListOfStrings(), tt.want) {
t.Errorf("GetTargetsFromArguments() = %v, want %v", got.UnsafeListOfStrings(), tt.want)

if !reflect.DeepEqual(got, tt.want) {
t.Errorf("GetTargetsFromArguments() = %v, want %v", got, tt.want)
}
})
}
Expand Down
8 changes: 2 additions & 6 deletions cli/internal/run/run.go
Original file line number Diff line number Diff line change
Expand Up @@ -332,11 +332,7 @@ func (c *RunCommand) Run(args []string) int {
}

if runOptions.stream {
targetList := make([]string, ctx.Targets.Len())
for i, v := range ctx.Targets.List() {
targetList[i] = v.(string)
}
c.Ui.Output(fmt.Sprintf("%s %s %s", ui.Dim("• Running"), ui.Dim(ui.Bold(strings.Join(targetList, ", "))), ui.Dim(fmt.Sprintf("in %v packages", filteredPkgs.Len()))))
c.Ui.Output(fmt.Sprintf("%s %s %s", ui.Dim("• Running"), ui.Dim(ui.Bold(strings.Join(ctx.Targets, ", "))), ui.Dim(fmt.Sprintf("in %v packages", filteredPkgs.Len()))))
}
runState := NewRunState(runOptions)
runState.Listen(c.Ui, time.Now())
Expand Down Expand Up @@ -598,7 +594,7 @@ func (c *RunCommand) Run(args []string) int {

if err := engine.Prepare(&core.SchedulerExecutionOptions{
Packages: filteredPkgs.UnsafeListOfStrings(),
TaskNames: ctx.Targets.UnsafeListOfStrings(),
TaskNames: ctx.Targets,
Concurrency: runOptions.concurrency,
Parallel: runOptions.parallel,
TasksOnly: runOptions.only,
Expand Down

1 comment on commit 5799c7d

@vercel
Copy link

@vercel vercel bot commented on 5799c7d Dec 18, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.