mirror of
				https://github.com/go-task/task.git
				synced 2025-10-30 23:58:01 +02:00 
			
		
		
		
	chore: bump minimun version to 1.24 (#2377)
This commit is contained in:
		
							
								
								
									
										2
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/lint.yml
									
									
									
									
										vendored
									
									
								
							| @@ -13,7 +13,7 @@ jobs: | ||||
|     name: Lint | ||||
|     strategy: | ||||
|       matrix: | ||||
|         go-version: [1.23.x, 1.24.x] | ||||
|         go-version: [1.24.x, 1.25.x] | ||||
|     runs-on: ubuntu-latest | ||||
|     steps: | ||||
|       - uses: actions/setup-go@v5 | ||||
|   | ||||
							
								
								
									
										2
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
								
							| @@ -13,7 +13,7 @@ jobs: | ||||
|     name: Test | ||||
|     strategy: | ||||
|       matrix: | ||||
|         go-version: [1.23.x, 1.24.x] | ||||
|         go-version: [1.24.x, 1.25.x] | ||||
|         platform: [ubuntu-latest, macos-latest, windows-latest] | ||||
|     runs-on: ${{matrix.platform}} | ||||
|     steps: | ||||
|   | ||||
| @@ -3,7 +3,6 @@ package task_test | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"cmp" | ||||
| 	"context" | ||||
| 	"fmt" | ||||
| 	"os" | ||||
| 	"path/filepath" | ||||
| @@ -189,7 +188,7 @@ func (tt *ExecutorTest) run(t *testing.T) { | ||||
| 		} | ||||
|  | ||||
| 		// Run the task and check for errors | ||||
| 		ctx := context.Background() | ||||
| 		ctx := t.Context() | ||||
| 		if err := e.Run(ctx, call); tt.wantRunError { | ||||
| 			require.Error(t, err) | ||||
| 			tt.writeFixtureErrRun(t, g, err) | ||||
|   | ||||
							
								
								
									
										3
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								go.mod
									
									
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| module github.com/go-task/task/v3 | ||||
|  | ||||
| go 1.23.0 | ||||
| go 1.24.0 | ||||
|  | ||||
| require ( | ||||
| 	github.com/Ladicle/tabwriter v1.0.0 | ||||
| @@ -19,7 +19,6 @@ require ( | ||||
| 	github.com/google/uuid v1.6.0 | ||||
| 	github.com/joho/godotenv v1.5.1 | ||||
| 	github.com/mitchellh/hashstructure/v2 v2.0.2 | ||||
| 	github.com/otiai10/copy v1.14.1 | ||||
| 	github.com/puzpuzpuz/xsync/v3 v3.5.1 | ||||
| 	github.com/sajari/fuzzy v1.0.0 | ||||
| 	github.com/sebdah/goldie/v2 v2.7.1 | ||||
|   | ||||
| @@ -1,7 +1,6 @@ | ||||
| package fingerprint | ||||
|  | ||||
| import ( | ||||
| 	"context" | ||||
| 	"testing" | ||||
|  | ||||
| 	"github.com/stretchr/testify/assert" | ||||
| @@ -164,7 +163,7 @@ func TestIsTaskUpToDate(t *testing.T) { | ||||
| 			} | ||||
|  | ||||
| 			result, err := IsTaskUpToDate( | ||||
| 				context.Background(), | ||||
| 				t.Context(), | ||||
| 				tt.task, | ||||
| 				WithStatusChecker(mockStatusChecker), | ||||
| 				WithSourcesChecker(mockSourcesChecker), | ||||
|   | ||||
							
								
								
									
										151
									
								
								task_test.go
									
									
									
									
									
								
							
							
						
						
									
										151
									
								
								task_test.go
									
									
									
									
									
								
							| @@ -2,7 +2,6 @@ package task_test | ||||
|  | ||||
| import ( | ||||
| 	"bytes" | ||||
| 	"context" | ||||
| 	"fmt" | ||||
| 	"io" | ||||
| 	"io/fs" | ||||
| @@ -356,7 +355,7 @@ func (fct fileContentTest) Run(t *testing.T) { | ||||
| 	) | ||||
|  | ||||
| 	require.NoError(t, e.Setup(), "e.Setup()") | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: fct.Target}), "e.Run(target)") | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: fct.Target}), "e.Run(target)") | ||||
| 	for name, expectContent := range fct.Files { | ||||
| 		t.Run(fct.name(name), func(t *testing.T) { | ||||
| 			path := filepathext.SmartJoin(e.Dir, name) | ||||
| @@ -407,7 +406,7 @@ func TestGenerates(t *testing.T) { | ||||
| 			fmt.Sprintf("task: Task \"%s\" is up to date\n", theTask) | ||||
|  | ||||
| 		// Run task for the first time. | ||||
| 		require.NoError(t, e.Run(context.Background(), &task.Call{Task: theTask})) | ||||
| 		require.NoError(t, e.Run(t.Context(), &task.Call{Task: theTask})) | ||||
|  | ||||
| 		if _, err := os.Stat(srcFile); err != nil { | ||||
| 			t.Errorf("File should exist: %v", err) | ||||
| @@ -422,7 +421,7 @@ func TestGenerates(t *testing.T) { | ||||
| 		buff.Reset() | ||||
|  | ||||
| 		// Re-run task to ensure it's now found to be up-to-date. | ||||
| 		require.NoError(t, e.Run(context.Background(), &task.Call{Task: theTask})) | ||||
| 		require.NoError(t, e.Run(t.Context(), &task.Call{Task: theTask})) | ||||
| 		if buff.String() != upToDate { | ||||
| 			t.Errorf("Wrong output message: %s", buff.String()) | ||||
| 		} | ||||
| @@ -463,7 +462,7 @@ func TestStatusChecksum(t *testing.T) { // nolint:paralleltest // cannot run in | ||||
| 			) | ||||
| 			require.NoError(t, e.Setup()) | ||||
|  | ||||
| 			require.NoError(t, e.Run(context.Background(), &task.Call{Task: test.task})) | ||||
| 			require.NoError(t, e.Run(t.Context(), &task.Call{Task: test.task})) | ||||
| 			for _, f := range test.files { | ||||
| 				_, err := os.Stat(filepathext.SmartJoin(dir, f)) | ||||
| 				require.NoError(t, err) | ||||
| @@ -476,7 +475,7 @@ func TestStatusChecksum(t *testing.T) { // nolint:paralleltest // cannot run in | ||||
| 			time := s.ModTime() | ||||
|  | ||||
| 			buff.Reset() | ||||
| 			require.NoError(t, e.Run(context.Background(), &task.Call{Task: test.task})) | ||||
| 			require.NoError(t, e.Run(t.Context(), &task.Call{Task: test.task})) | ||||
| 			assert.Equal(t, `task: Task "`+test.task+`" is up to date`+"\n", buff.String()) | ||||
|  | ||||
| 			s, err = os.Stat(filepathext.SmartJoin(tempDir.Fingerprint, "checksum/"+test.task)) | ||||
| @@ -507,12 +506,12 @@ func TestStatusVariables(t *testing.T) { | ||||
| 		task.WithVerbose(true), | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "build-checksum"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "build-checksum"})) | ||||
|  | ||||
| 	assert.Contains(t, buff.String(), "3e464c4b03f4b65d740e1e130d4d108a") | ||||
|  | ||||
| 	buff.Reset() | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "build-ts"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "build-ts"})) | ||||
|  | ||||
| 	inf, err := os.Stat(filepathext.SmartJoin(dir, "source.txt")) | ||||
| 	require.NoError(t, err) | ||||
| @@ -543,12 +542,12 @@ func TestCmdsVariables(t *testing.T) { | ||||
| 		task.WithVerbose(true), | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "build-checksum"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "build-checksum"})) | ||||
|  | ||||
| 	assert.Contains(t, buff.String(), "3e464c4b03f4b65d740e1e130d4d108a") | ||||
|  | ||||
| 	buff.Reset() | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "build-ts"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "build-ts"})) | ||||
| 	inf, err := os.Stat(filepathext.SmartJoin(dir, "source.txt")) | ||||
| 	require.NoError(t, err) | ||||
| 	ts := fmt.Sprintf("%d", inf.ModTime().Unix()) | ||||
| @@ -569,7 +568,7 @@ func TestCyclicDep(t *testing.T) { | ||||
| 		task.WithStderr(io.Discard), | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	assert.IsType(t, &errors.TaskCalledTooManyTimesError{}, e.Run(context.Background(), &task.Call{Task: "task-1"})) | ||||
| 	assert.IsType(t, &errors.TaskCalledTooManyTimesError{}, e.Run(t.Context(), &task.Call{Task: "task-1"})) | ||||
| } | ||||
|  | ||||
| func TestTaskVersion(t *testing.T) { | ||||
| @@ -619,10 +618,10 @@ func TestTaskIgnoreErrors(t *testing.T) { | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
|  | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "task-should-pass"})) | ||||
| 	require.Error(t, e.Run(context.Background(), &task.Call{Task: "task-should-fail"})) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "cmd-should-pass"})) | ||||
| 	require.Error(t, e.Run(context.Background(), &task.Call{Task: "cmd-should-fail"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "task-should-pass"})) | ||||
| 	require.Error(t, e.Run(t.Context(), &task.Call{Task: "task-should-fail"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "cmd-should-pass"})) | ||||
| 	require.Error(t, e.Run(t.Context(), &task.Call{Task: "cmd-should-fail"})) | ||||
| } | ||||
|  | ||||
| func TestExpand(t *testing.T) { | ||||
| @@ -642,7 +641,7 @@ func TestExpand(t *testing.T) { | ||||
| 		task.WithStderr(&buff), | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "pwd"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "pwd"})) | ||||
| 	assert.Equal(t, home, strings.TrimSpace(buff.String())) | ||||
| } | ||||
|  | ||||
| @@ -663,7 +662,7 @@ func TestDry(t *testing.T) { | ||||
| 		task.WithDry(true), | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "build"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "build"})) | ||||
|  | ||||
| 	assert.Equal(t, "task: [build] touch file.txt", strings.TrimSpace(buff.String())) | ||||
| 	if _, err := os.Stat(file); err == nil { | ||||
| @@ -692,13 +691,13 @@ func TestDryChecksum(t *testing.T) { | ||||
| 		task.WithDry(true), | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "default"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "default"})) | ||||
|  | ||||
| 	_, err := os.Stat(checksumFile) | ||||
| 	require.Error(t, err, "checksum file should not exist") | ||||
|  | ||||
| 	e.Dry = false | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "default"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "default"})) | ||||
| 	_, err = os.Stat(checksumFile) | ||||
| 	require.NoError(t, err, "checksum file should exist") | ||||
| } | ||||
| @@ -840,7 +839,7 @@ func TestIncludesRemote(t *testing.T) { | ||||
| 							path := filepath.Join(dir, outputFile) | ||||
| 							require.NoError(t, os.RemoveAll(path)) | ||||
|  | ||||
| 							require.NoError(t, e.executor.Run(context.Background(), taskCall)) | ||||
| 							require.NoError(t, e.executor.Run(t.Context(), taskCall)) | ||||
|  | ||||
| 							actualContent, err := os.ReadFile(path) | ||||
| 							require.NoError(t, err) | ||||
| @@ -1120,11 +1119,11 @@ func TestIncludesRelativePath(t *testing.T) { | ||||
|  | ||||
| 	require.NoError(t, e.Setup()) | ||||
|  | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "common:pwd"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "common:pwd"})) | ||||
| 	assert.Contains(t, buff.String(), "testdata/includes_rel_path/common") | ||||
|  | ||||
| 	buff.Reset() | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "included:common:pwd"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "included:common:pwd"})) | ||||
| 	assert.Contains(t, buff.String(), "testdata/includes_rel_path/common") | ||||
| } | ||||
|  | ||||
| @@ -1156,7 +1155,7 @@ func TestIncludesInternal(t *testing.T) { | ||||
| 			) | ||||
| 			require.NoError(t, e.Setup()) | ||||
|  | ||||
| 			err := e.Run(context.Background(), &task.Call{Task: test.task}) | ||||
| 			err := e.Run(t.Context(), &task.Call{Task: test.task}) | ||||
| 			if test.expectedErr { | ||||
| 				require.Error(t, err) | ||||
| 			} else { | ||||
| @@ -1203,7 +1202,7 @@ func TestIncludesFlatten(t *testing.T) { | ||||
| 				assert.EqualError(t, err, test.expectedOutput) | ||||
| 			} else { | ||||
| 				require.NoError(t, err) | ||||
| 				_ = e.Run(context.Background(), &task.Call{Task: test.task}) | ||||
| 				_ = e.Run(t.Context(), &task.Call{Task: test.task}) | ||||
| 				assert.Equal(t, test.expectedOutput, buff.String()) | ||||
| 			} | ||||
| 		}) | ||||
| @@ -1235,7 +1234,7 @@ func TestIncludesInterpolation(t *testing.T) { // nolint:paralleltest // cannot | ||||
| 			) | ||||
| 			require.NoError(t, e.Setup()) | ||||
|  | ||||
| 			err := e.Run(context.Background(), &task.Call{Task: test.task}) | ||||
| 			err := e.Run(t.Context(), &task.Call{Task: test.task}) | ||||
| 			if test.expectedErr { | ||||
| 				require.Error(t, err) | ||||
| 			} else { | ||||
| @@ -1258,20 +1257,20 @@ func TestIncludesWithExclude(t *testing.T) { | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
|  | ||||
| 	err := e.Run(context.Background(), &task.Call{Task: "included:bar"}) | ||||
| 	err := e.Run(t.Context(), &task.Call{Task: "included:bar"}) | ||||
| 	require.NoError(t, err) | ||||
| 	assert.Equal(t, "bar\n", buff.String()) | ||||
| 	buff.Reset() | ||||
|  | ||||
| 	err = e.Run(context.Background(), &task.Call{Task: "included:foo"}) | ||||
| 	err = e.Run(t.Context(), &task.Call{Task: "included:foo"}) | ||||
| 	require.Error(t, err) | ||||
| 	buff.Reset() | ||||
|  | ||||
| 	err = e.Run(context.Background(), &task.Call{Task: "bar"}) | ||||
| 	err = e.Run(t.Context(), &task.Call{Task: "bar"}) | ||||
| 	require.Error(t, err) | ||||
| 	buff.Reset() | ||||
|  | ||||
| 	err = e.Run(context.Background(), &task.Call{Task: "foo"}) | ||||
| 	err = e.Run(t.Context(), &task.Call{Task: "foo"}) | ||||
| 	require.NoError(t, err) | ||||
| 	assert.Equal(t, "foo\n", buff.String()) | ||||
| } | ||||
| @@ -1301,7 +1300,7 @@ func TestIncludedTaskfileVarMerging(t *testing.T) { | ||||
| 			) | ||||
| 			require.NoError(t, e.Setup()) | ||||
|  | ||||
| 			err := e.Run(context.Background(), &task.Call{Task: test.task}) | ||||
| 			err := e.Run(t.Context(), &task.Call{Task: test.task}) | ||||
| 			require.NoError(t, err) | ||||
| 			assert.Contains(t, buff.String(), test.expectedOutput) | ||||
| 		}) | ||||
| @@ -1336,7 +1335,7 @@ func TestInternalTask(t *testing.T) { | ||||
| 			) | ||||
| 			require.NoError(t, e.Setup()) | ||||
|  | ||||
| 			err := e.Run(context.Background(), &task.Call{Task: test.task}) | ||||
| 			err := e.Run(t.Context(), &task.Call{Task: test.task}) | ||||
| 			if test.expectedErr { | ||||
| 				require.Error(t, err) | ||||
| 			} else { | ||||
| @@ -1421,7 +1420,7 @@ func TestSummary(t *testing.T) { | ||||
| 		task.WithSilent(true), | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "task-with-summary"}, &task.Call{Task: "other-task-with-summary"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "task-with-summary"}, &task.Call{Task: "other-task-with-summary"})) | ||||
|  | ||||
| 	data, err := os.ReadFile(filepathext.SmartJoin(dir, "task-with-summary.txt")) | ||||
| 	require.NoError(t, err) | ||||
| @@ -1447,7 +1446,7 @@ func TestWhenNoDirAttributeItRunsInSameDirAsTaskfile(t *testing.T) { | ||||
| 	) | ||||
|  | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "whereami"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "whereami"})) | ||||
|  | ||||
| 	// got should be the "dir" part of "testdata/dir" | ||||
| 	got := strings.TrimSuffix(filepath.Base(out.String()), "\n") | ||||
| @@ -1467,7 +1466,7 @@ func TestWhenDirAttributeAndDirExistsItRunsInThatDir(t *testing.T) { | ||||
| 	) | ||||
|  | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "whereami"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "whereami"})) | ||||
|  | ||||
| 	got := strings.TrimSuffix(filepath.Base(out.String()), "\n") | ||||
| 	assert.Equal(t, expected, got, "Mismatch in the working directory") | ||||
| @@ -1493,7 +1492,7 @@ func TestWhenDirAttributeItCreatesMissingAndRunsInThatDir(t *testing.T) { | ||||
| 		t.Errorf("Directory should not exist: %v", err) | ||||
| 	} | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: target})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: target})) | ||||
|  | ||||
| 	got := strings.TrimSuffix(filepath.Base(out.String()), "\n") | ||||
| 	assert.Equal(t, expected, got, "Mismatch in the working directory") | ||||
| @@ -1522,7 +1521,7 @@ func TestDynamicVariablesRunOnTheNewCreatedDir(t *testing.T) { | ||||
| 		t.Errorf("Directory should not exist: %v", err) | ||||
| 	} | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: target})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: target})) | ||||
|  | ||||
| 	got := strings.TrimSuffix(filepath.Base(out.String()), "\n") | ||||
| 	assert.Equal(t, expected, got, "Mismatch in the working directory") | ||||
| @@ -1593,7 +1592,7 @@ func TestShortTaskNotation(t *testing.T) { | ||||
| 		task.WithSilent(true), | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "default"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "default"})) | ||||
| 	assert.Equal(t, "string-slice-1\nstring-slice-2\nstring\n", buff.String()) | ||||
| } | ||||
|  | ||||
| @@ -1791,7 +1790,7 @@ func TestExitImmediately(t *testing.T) { | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
|  | ||||
| 	require.Error(t, e.Run(context.Background(), &task.Call{Task: "default"})) | ||||
| 	require.Error(t, e.Run(t.Context(), &task.Call{Task: "default"})) | ||||
| 	assert.Contains(t, buff.String(), `"this_should_fail": executable file not found in $PATH`) | ||||
| } | ||||
|  | ||||
| @@ -1824,7 +1823,7 @@ func TestRunOnceSharedDeps(t *testing.T) { | ||||
| 		task.WithForceAll(true), | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "build"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "build"})) | ||||
|  | ||||
| 	rx := regexp.MustCompile(`task: \[service-[a,b]:library:build\] echo "build library"`) | ||||
| 	matches := rx.FindAllStringSubmatch(buff.String(), -1) | ||||
| @@ -1856,10 +1855,10 @@ task-1 ran successfully | ||||
| task: [task-1] echo 'task-1 ran successfully' | ||||
| task-1 ran successfully | ||||
| `) | ||||
| 	require.Error(t, e.Run(context.Background(), &task.Call{Task: "task-2"})) | ||||
| 	require.Error(t, e.Run(t.Context(), &task.Call{Task: "task-2"})) | ||||
| 	assert.Contains(t, buff.String(), expectedOutputOrder) | ||||
| 	buff.Reset() | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "parent"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "parent"})) | ||||
| 	assert.Contains(t, buff.String(), "child task deferred value-from-parent") | ||||
| } | ||||
|  | ||||
| @@ -1875,7 +1874,7 @@ func TestExitCodeZero(t *testing.T) { | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
|  | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "exit-zero"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "exit-zero"})) | ||||
| 	assert.Equal(t, "FOO=bar - DYNAMIC_FOO=bar - EXIT_CODE=", strings.TrimSpace(buff.String())) | ||||
| } | ||||
|  | ||||
| @@ -1891,7 +1890,7 @@ func TestExitCodeOne(t *testing.T) { | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
|  | ||||
| 	require.Error(t, e.Run(context.Background(), &task.Call{Task: "exit-one"})) | ||||
| 	require.Error(t, e.Run(t.Context(), &task.Call{Task: "exit-one"})) | ||||
| 	assert.Equal(t, "FOO=bar - DYNAMIC_FOO=bar - EXIT_CODE=1", strings.TrimSpace(buff.String())) | ||||
| } | ||||
|  | ||||
| @@ -1920,7 +1919,7 @@ func TestIgnoreNilElements(t *testing.T) { | ||||
| 				task.WithSilent(true), | ||||
| 			) | ||||
| 			require.NoError(t, e.Setup()) | ||||
| 			require.NoError(t, e.Run(context.Background(), &task.Call{Task: "default"})) | ||||
| 			require.NoError(t, e.Run(t.Context(), &task.Call{Task: "default"})) | ||||
| 			assert.Equal(t, "string-slice-1\n", buff.String()) | ||||
| 		}) | ||||
| 	} | ||||
| @@ -1948,7 +1947,7 @@ task: [bye] echo 'Bye!' | ||||
| Bye! | ||||
| ::endgroup:: | ||||
| `) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "bye"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "bye"})) | ||||
| 	t.Log(buff.String()) | ||||
| 	assert.Equal(t, strings.TrimSpace(buff.String()), expectedOutputOrder) | ||||
| } | ||||
| @@ -1965,7 +1964,7 @@ func TestOutputGroupErrorOnlySwallowsOutputOnSuccess(t *testing.T) { | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
|  | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "passing"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "passing"})) | ||||
| 	t.Log(buff.String()) | ||||
| 	assert.Empty(t, buff.String()) | ||||
| } | ||||
| @@ -1982,7 +1981,7 @@ func TestOutputGroupErrorOnlyShowsOutputOnFailure(t *testing.T) { | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
|  | ||||
| 	require.Error(t, e.Run(context.Background(), &task.Call{Task: "failing"})) | ||||
| 	require.Error(t, e.Run(t.Context(), &task.Call{Task: "failing"})) | ||||
| 	t.Log(buff.String()) | ||||
| 	assert.Contains(t, "failing-output", strings.TrimSpace(buff.String())) | ||||
| 	assert.NotContains(t, "passing", strings.TrimSpace(buff.String())) | ||||
| @@ -2014,7 +2013,7 @@ VAR_1 is included-default-var1 | ||||
| task: [included3:task1] echo "VAR_2 is included-default-var2" | ||||
| VAR_2 is included-default-var2 | ||||
| `) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "task1"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "task1"})) | ||||
| 	t.Log(buff.String()) | ||||
| 	assert.Equal(t, strings.TrimSpace(buff.String()), expectedOutputOrder) | ||||
| } | ||||
| @@ -2052,7 +2051,7 @@ Hello foo | ||||
| task: [bar:lib:greet] echo 'Hello bar' | ||||
| Hello bar | ||||
| `) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "default"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "default"})) | ||||
| 	t.Log(buff.String()) | ||||
| 	assert.Equal(t, expectedOutputOrder, strings.TrimSpace(buff.String())) | ||||
| } | ||||
| @@ -2090,7 +2089,7 @@ func TestErrorCode(t *testing.T) { | ||||
| 			) | ||||
| 			require.NoError(t, e.Setup()) | ||||
|  | ||||
| 			err := e.Run(context.Background(), &task.Call{Task: test.task}) | ||||
| 			err := e.Run(t.Context(), &task.Call{Task: test.task}) | ||||
| 			require.Error(t, err) | ||||
| 			taskRunErr, ok := err.(*errors.TaskRunError) | ||||
| 			assert.True(t, ok, "cannot cast returned error to *task.TaskRunError") | ||||
| @@ -2142,7 +2141,7 @@ func TestEvaluateSymlinksInPaths(t *testing.T) { // nolint:paralleltest // canno | ||||
| 	for _, test := range tests { // nolint:paralleltest // cannot run in parallel | ||||
| 		t.Run(test.name, func(t *testing.T) { | ||||
| 			require.NoError(t, e.Setup()) | ||||
| 			err := e.Run(context.Background(), &task.Call{Task: test.task}) | ||||
| 			err := e.Run(t.Context(), &task.Call{Task: test.task}) | ||||
| 			require.NoError(t, err) | ||||
| 			assert.Equal(t, test.expected, strings.TrimSpace(buff.String())) | ||||
| 			buff.Reset() | ||||
| @@ -2185,7 +2184,7 @@ func TestTaskfileWalk(t *testing.T) { | ||||
| 				task.WithStderr(&buff), | ||||
| 			) | ||||
| 			require.NoError(t, e.Setup()) | ||||
| 			require.NoError(t, e.Run(context.Background(), &task.Call{Task: "default"})) | ||||
| 			require.NoError(t, e.Run(t.Context(), &task.Call{Task: "default"})) | ||||
| 			assert.Equal(t, test.expected, buff.String()) | ||||
| 		}) | ||||
| 	} | ||||
| @@ -2203,7 +2202,7 @@ func TestUserWorkingDirectory(t *testing.T) { | ||||
| 	wd, err := os.Getwd() | ||||
| 	require.NoError(t, err) | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "default"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "default"})) | ||||
| 	assert.Equal(t, fmt.Sprintf("%s\n", wd), buff.String()) | ||||
| } | ||||
|  | ||||
| @@ -2225,7 +2224,7 @@ func TestUserWorkingDirectoryWithIncluded(t *testing.T) { | ||||
|  | ||||
| 	require.NoError(t, err) | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "included:echo"})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "included:echo"})) | ||||
| 	assert.Equal(t, fmt.Sprintf("%s\n", wd), buff.String()) | ||||
| } | ||||
|  | ||||
| @@ -2239,7 +2238,7 @@ func TestPlatforms(t *testing.T) { | ||||
| 		task.WithStderr(&buff), | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
| 	require.NoError(t, e.Run(context.Background(), &task.Call{Task: "build-" + runtime.GOOS})) | ||||
| 	require.NoError(t, e.Run(t.Context(), &task.Call{Task: "build-" + runtime.GOOS})) | ||||
| 	assert.Equal(t, fmt.Sprintf("task: [build-%s] echo 'Running task on %s'\nRunning task on %s\n", runtime.GOOS, runtime.GOOS, runtime.GOOS), buff.String()) | ||||
| } | ||||
|  | ||||
| @@ -2254,7 +2253,7 @@ func TestPOSIXShellOptsGlobalLevel(t *testing.T) { | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
|  | ||||
| 	err := e.Run(context.Background(), &task.Call{Task: "pipefail"}) | ||||
| 	err := e.Run(t.Context(), &task.Call{Task: "pipefail"}) | ||||
| 	require.NoError(t, err) | ||||
| 	assert.Equal(t, "pipefail\ton\n", buff.String()) | ||||
| } | ||||
| @@ -2270,7 +2269,7 @@ func TestPOSIXShellOptsTaskLevel(t *testing.T) { | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
|  | ||||
| 	err := e.Run(context.Background(), &task.Call{Task: "pipefail"}) | ||||
| 	err := e.Run(t.Context(), &task.Call{Task: "pipefail"}) | ||||
| 	require.NoError(t, err) | ||||
| 	assert.Equal(t, "pipefail\ton\n", buff.String()) | ||||
| } | ||||
| @@ -2286,7 +2285,7 @@ func TestPOSIXShellOptsCommandLevel(t *testing.T) { | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
|  | ||||
| 	err := e.Run(context.Background(), &task.Call{Task: "pipefail"}) | ||||
| 	err := e.Run(t.Context(), &task.Call{Task: "pipefail"}) | ||||
| 	require.NoError(t, err) | ||||
| 	assert.Equal(t, "pipefail\ton\n", buff.String()) | ||||
| } | ||||
| @@ -2302,7 +2301,7 @@ func TestBashShellOptsGlobalLevel(t *testing.T) { | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
|  | ||||
| 	err := e.Run(context.Background(), &task.Call{Task: "globstar"}) | ||||
| 	err := e.Run(t.Context(), &task.Call{Task: "globstar"}) | ||||
| 	require.NoError(t, err) | ||||
| 	assert.Equal(t, "globstar\ton\n", buff.String()) | ||||
| } | ||||
| @@ -2318,7 +2317,7 @@ func TestBashShellOptsTaskLevel(t *testing.T) { | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
|  | ||||
| 	err := e.Run(context.Background(), &task.Call{Task: "globstar"}) | ||||
| 	err := e.Run(t.Context(), &task.Call{Task: "globstar"}) | ||||
| 	require.NoError(t, err) | ||||
| 	assert.Equal(t, "globstar\ton\n", buff.String()) | ||||
| } | ||||
| @@ -2334,7 +2333,7 @@ func TestBashShellOptsCommandLevel(t *testing.T) { | ||||
| 	) | ||||
| 	require.NoError(t, e.Setup()) | ||||
|  | ||||
| 	err := e.Run(context.Background(), &task.Call{Task: "globstar"}) | ||||
| 	err := e.Run(t.Context(), &task.Call{Task: "globstar"}) | ||||
| 	require.NoError(t, err) | ||||
| 	assert.Equal(t, "globstar\ton\n", buff.String()) | ||||
| } | ||||
| @@ -2354,7 +2353,7 @@ func TestSplitArgs(t *testing.T) { | ||||
| 	vars := ast.NewVars() | ||||
| 	vars.Set("CLI_ARGS", ast.Var{Value: "foo bar 'foo bar baz'"}) | ||||
|  | ||||
| 	err := e.Run(context.Background(), &task.Call{Task: "default", Vars: vars}) | ||||
| 	err := e.Run(t.Context(), &task.Call{Task: "default", Vars: vars}) | ||||
| 	require.NoError(t, err) | ||||
| 	assert.Equal(t, "3\n", buff.String()) | ||||
| } | ||||
| @@ -2395,14 +2394,14 @@ func TestSilence(t *testing.T) { | ||||
|  | ||||
| 	// Then test the two basic cases where the task is silent or not. | ||||
| 	// A silenced task. | ||||
| 	err = e.Run(context.Background(), &task.Call{Task: "silent"}) | ||||
| 	err = e.Run(t.Context(), &task.Call{Task: "silent"}) | ||||
| 	require.NoError(t, err) | ||||
| 	require.Empty(t, buff.String(), "siWhile running lent: Expected not see output, because the task is silent") | ||||
|  | ||||
| 	buff.Reset() | ||||
|  | ||||
| 	// A chatty (not silent) task. | ||||
| 	err = e.Run(context.Background(), &task.Call{Task: "chatty"}) | ||||
| 	err = e.Run(t.Context(), &task.Call{Task: "chatty"}) | ||||
| 	require.NoError(t, err) | ||||
| 	require.NotEmpty(t, buff.String(), "chWhile running atty: Expected to see output, because the task is not silent") | ||||
|  | ||||
| @@ -2410,42 +2409,42 @@ func TestSilence(t *testing.T) { | ||||
|  | ||||
| 	// Then test invoking the two task from other tasks. | ||||
| 	// A silenced task that calls a chatty task. | ||||
| 	err = e.Run(context.Background(), &task.Call{Task: "task-test-silent-calls-chatty-non-silenced"}) | ||||
| 	err = e.Run(t.Context(), &task.Call{Task: "task-test-silent-calls-chatty-non-silenced"}) | ||||
| 	require.NoError(t, err) | ||||
| 	require.NotEmpty(t, buff.String(), "While running task-test-silent-calls-chatty-non-silenced: Expected to see output. The task is silenced, but the called task is not. Silence does not propagate to called tasks.") | ||||
|  | ||||
| 	buff.Reset() | ||||
|  | ||||
| 	// A silent task that does a silent call to a chatty task. | ||||
| 	err = e.Run(context.Background(), &task.Call{Task: "task-test-silent-calls-chatty-silenced"}) | ||||
| 	err = e.Run(t.Context(), &task.Call{Task: "task-test-silent-calls-chatty-silenced"}) | ||||
| 	require.NoError(t, err) | ||||
| 	require.Empty(t, buff.String(), "While running task-test-silent-calls-chatty-silenced: Expected not to see output. The task calls chatty task, but the call is silenced.") | ||||
|  | ||||
| 	buff.Reset() | ||||
|  | ||||
| 	// A chatty task that does a call to a chatty task. | ||||
| 	err = e.Run(context.Background(), &task.Call{Task: "task-test-chatty-calls-chatty-non-silenced"}) | ||||
| 	err = e.Run(t.Context(), &task.Call{Task: "task-test-chatty-calls-chatty-non-silenced"}) | ||||
| 	require.NoError(t, err) | ||||
| 	require.NotEmpty(t, buff.String(), "While running task-test-chatty-calls-chatty-non-silenced: Expected to see output. Both caller and callee are chatty and not silenced.") | ||||
|  | ||||
| 	buff.Reset() | ||||
|  | ||||
| 	// A chatty task that does a silenced call to a chatty task. | ||||
| 	err = e.Run(context.Background(), &task.Call{Task: "task-test-chatty-calls-chatty-silenced"}) | ||||
| 	err = e.Run(t.Context(), &task.Call{Task: "task-test-chatty-calls-chatty-silenced"}) | ||||
| 	require.NoError(t, err) | ||||
| 	require.NotEmpty(t, buff.String(), "While running task-test-chatty-calls-chatty-silenced: Expected to see output. Call to a chatty task is silenced, but the parent task is not.") | ||||
|  | ||||
| 	buff.Reset() | ||||
|  | ||||
| 	// A chatty task with no cmd's of its own that does a silenced call to a chatty task. | ||||
| 	err = e.Run(context.Background(), &task.Call{Task: "task-test-no-cmds-calls-chatty-silenced"}) | ||||
| 	err = e.Run(t.Context(), &task.Call{Task: "task-test-no-cmds-calls-chatty-silenced"}) | ||||
| 	require.NoError(t, err) | ||||
| 	require.Empty(t, buff.String(), "While running task-test-no-cmds-calls-chatty-silenced: Expected not to see output. While the task itself is not silenced, it does not have any cmds and only does an invocation of a silenced task.") | ||||
|  | ||||
| 	buff.Reset() | ||||
|  | ||||
| 	// A chatty task that does a silenced invocation of a task. | ||||
| 	err = e.Run(context.Background(), &task.Call{Task: "task-test-chatty-calls-silenced-cmd"}) | ||||
| 	err = e.Run(t.Context(), &task.Call{Task: "task-test-chatty-calls-silenced-cmd"}) | ||||
| 	require.NoError(t, err) | ||||
| 	require.Empty(t, buff.String(), "While running task-test-chatty-calls-silenced-cmd: Expected not to see output. While the task itself is not silenced, its call to the chatty task is silent.") | ||||
|  | ||||
| @@ -2453,21 +2452,21 @@ func TestSilence(t *testing.T) { | ||||
|  | ||||
| 	// Then test calls via dependencies. | ||||
| 	// A silent task that depends on a chatty task. | ||||
| 	err = e.Run(context.Background(), &task.Call{Task: "task-test-is-silent-depends-on-chatty-non-silenced"}) | ||||
| 	err = e.Run(t.Context(), &task.Call{Task: "task-test-is-silent-depends-on-chatty-non-silenced"}) | ||||
| 	require.NoError(t, err) | ||||
| 	require.NotEmpty(t, buff.String(), "While running task-test-is-silent-depends-on-chatty-non-silenced: Expected to see output. The task is silent and depends on a chatty task. Dependencies does not inherit silence.") | ||||
|  | ||||
| 	buff.Reset() | ||||
|  | ||||
| 	// A silent task that depends on a silenced chatty task. | ||||
| 	err = e.Run(context.Background(), &task.Call{Task: "task-test-is-silent-depends-on-chatty-silenced"}) | ||||
| 	err = e.Run(t.Context(), &task.Call{Task: "task-test-is-silent-depends-on-chatty-silenced"}) | ||||
| 	require.NoError(t, err) | ||||
| 	require.Empty(t, buff.String(), "While running task-test-is-silent-depends-on-chatty-silenced: Expected not to see output. The task is silent and has a silenced dependency on a chatty task.") | ||||
|  | ||||
| 	buff.Reset() | ||||
|  | ||||
| 	// A chatty task that, depends on a silenced chatty task. | ||||
| 	err = e.Run(context.Background(), &task.Call{Task: "task-test-is-chatty-depends-on-chatty-silenced"}) | ||||
| 	err = e.Run(t.Context(), &task.Call{Task: "task-test-is-chatty-depends-on-chatty-silenced"}) | ||||
| 	require.NoError(t, err) | ||||
| 	require.Empty(t, buff.String(), "While running task-test-is-chatty-depends-on-chatty-silenced: Expected not to see output. The task is chatty but does not have commands and has a silenced dependency on a chatty task.") | ||||
|  | ||||
| @@ -2519,7 +2518,7 @@ func TestForce(t *testing.T) { | ||||
| 				task.WithForceAll(tt.forceAll), | ||||
| 			) | ||||
| 			require.NoError(t, e.Setup()) | ||||
| 			require.NoError(t, e.Run(context.Background(), &task.Call{Task: "task-with-dep"})) | ||||
| 			require.NoError(t, e.Run(t.Context(), &task.Call{Task: "task-with-dep"})) | ||||
| 		}) | ||||
| 	} | ||||
| } | ||||
| @@ -2579,10 +2578,10 @@ func TestWildcard(t *testing.T) { | ||||
| 			) | ||||
| 			require.NoError(t, e.Setup()) | ||||
| 			if test.wantErr { | ||||
| 				require.Error(t, e.Run(context.Background(), &task.Call{Task: test.call})) | ||||
| 				require.Error(t, e.Run(t.Context(), &task.Call{Task: test.call})) | ||||
| 				return | ||||
| 			} | ||||
| 			require.NoError(t, e.Run(context.Background(), &task.Call{Task: test.call})) | ||||
| 			require.NoError(t, e.Run(t.Context(), &task.Call{Task: test.call})) | ||||
| 			assert.Equal(t, test.expectedOutput, buff.String()) | ||||
| 		}) | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user