diff --git a/.errcheck.txt b/.errcheck.txt new file mode 100644 index 00000000000..64671e21f19 --- /dev/null +++ b/.errcheck.txt @@ -0,0 +1,8 @@ +(*github.com/tektoncd/pipeline/vendor/go.uber.org/zap.SugaredLogger).Sync +flag.Set +os.Setenv +logger.Sync +fmt.Fprintf +fmt.Fprintln +(io.Closer).Close +updateConfigMap diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 00000000000..6efb58483ce --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,8 @@ +run: + build-tags: + - e2e + skip-dirs: + - vendor/ +linters-settings: + errcheck: + exclude: .errcheck.txt diff --git a/pkg/client/clientset/versioned/fake/register.go b/pkg/client/clientset/versioned/fake/register.go index d50025282bd..0495c958caf 100644 --- a/pkg/client/clientset/versioned/fake/register.go +++ b/pkg/client/clientset/versioned/fake/register.go @@ -26,7 +26,6 @@ import ( var scheme = runtime.NewScheme() var codecs = serializer.NewCodecFactory(scheme) -var parameterCodec = runtime.NewParameterCodec(scheme) var localSchemeBuilder = runtime.SchemeBuilder{ tektonv1alpha1.AddToScheme, } diff --git a/pkg/reconciler/reconciler_test.go b/pkg/reconciler/reconciler_test.go index f1c31e63564..5f6c6bf91ce 100644 --- a/pkg/reconciler/reconciler_test.go +++ b/pkg/reconciler/reconciler_test.go @@ -53,7 +53,7 @@ func TestRecorderOptions(t *testing.T) { Pipelines: ps, Tasks: ts, } - c, _ := test.SeedTestData(d) + c, _ := test.SeedTestData(t, d) observer, _ := observer.New(zap.InfoLevel) diff --git a/pkg/reconciler/timeout_handler_test.go b/pkg/reconciler/timeout_handler_test.go index ed000fb9f44..a061d6bbeb3 100644 --- a/pkg/reconciler/timeout_handler_test.go +++ b/pkg/reconciler/timeout_handler_test.go @@ -67,7 +67,7 @@ func TestTaskRunCheckTimeouts(t *testing.T) { } stopCh := make(chan struct{}) defer close(stopCh) - c, _ := test.SeedTestData(d) + c, _ := test.SeedTestData(t, d) observer, _ := observer.New(zap.InfoLevel) th := NewTimeoutHandler(c.Kube, c.Pipeline, stopCh, zap.New(observer).Sugar()) gotCallback := sync.Map{} @@ -169,7 +169,7 @@ func TestPipelinRunCheckTimeouts(t *testing.T) { }, }}, } - c, _ := test.SeedTestData(d) + c, _ := test.SeedTestData(t, d) stopCh := make(chan struct{}) observer, _ := observer.New(zap.InfoLevel) th := NewTimeoutHandler(c.Kube, c.Pipeline, stopCh, zap.New(observer).Sugar()) @@ -245,7 +245,7 @@ func TestWithNoFunc(t *testing.T) { }}, } stopCh := make(chan struct{}) - c, _ := test.SeedTestData(d) + c, _ := test.SeedTestData(t, d) observer, _ := observer.New(zap.InfoLevel) testHandler := NewTimeoutHandler(c.Kube, c.Pipeline, stopCh, zap.New(observer).Sugar()) defer func() { diff --git a/pkg/reconciler/v1alpha1/pipelinerun/cancel_test.go b/pkg/reconciler/v1alpha1/pipelinerun/cancel_test.go index 38bf13b270e..793d1bfc13b 100644 --- a/pkg/reconciler/v1alpha1/pipelinerun/cancel_test.go +++ b/pkg/reconciler/v1alpha1/pipelinerun/cancel_test.go @@ -72,7 +72,7 @@ func TestCancelPipelineRun(t *testing.T) { PipelineRuns: []*v1alpha1.PipelineRun{tc.pipelineRun}, TaskRuns: tc.taskRuns, } - c, _ := test.SeedTestData(d) + c, _ := test.SeedTestData(t, d) err := cancelPipelineRun(tc.pipelineRun, tc.pipelineState, c.Pipeline) if err != nil { t.Fatal(err) diff --git a/pkg/reconciler/v1alpha1/pipelinerun/pipelinerun_test.go b/pkg/reconciler/v1alpha1/pipelinerun/pipelinerun_test.go index 8f4d59ac94e..976fd4b8970 100644 --- a/pkg/reconciler/v1alpha1/pipelinerun/pipelinerun_test.go +++ b/pkg/reconciler/v1alpha1/pipelinerun/pipelinerun_test.go @@ -49,8 +49,8 @@ func getRunName(pr *v1alpha1.PipelineRun) string { // getPipelineRunController returns an instance of the PipelineRun controller/reconciler that has been seeded with // d, where d represents the state of the system (existing resources) needed for the test. // recorder can be a fake recorder that is used for testing -func getPipelineRunController(d test.Data, recorder record.EventRecorder) test.TestAssets { - c, i := test.SeedTestData(d) +func getPipelineRunController(t *testing.T, d test.Data, recorder record.EventRecorder) test.TestAssets { + c, i := test.SeedTestData(t, d) observer, logs := observer.New(zap.InfoLevel) stopCh := make(chan struct{}) configMapWatcher := configmap.NewInformedWatcher(c.Kube, system.GetNamespace()) @@ -183,7 +183,7 @@ func TestReconcile(t *testing.T) { // create fake recorder for testing fr := record.NewFakeRecorder(1) - testAssets := getPipelineRunController(d, fr) + testAssets := getPipelineRunController(t, d, fr) c := testAssets.Controller clients := testAssets.Clients @@ -333,7 +333,7 @@ func TestReconcile_InvalidPipelineRuns(t *testing.T) { for _, tc := range tcs { t.Run(tc.name, func(t *testing.T) { - testAssets := getPipelineRunController(d, fr) + testAssets := getPipelineRunController(t, d, fr) c := testAssets.Controller if err := c.Reconciler.Reconcile(context.Background(), getRunName(tc.pipelineRun)); err != nil { @@ -387,7 +387,7 @@ func TestReconcile_InvalidPipelineRunNames(t *testing.T) { for _, tc := range tcs { t.Run(tc.name, func(t *testing.T) { - testAssets := getPipelineRunController(test.Data{}, fr) + testAssets := getPipelineRunController(t, test.Data{}, fr) c := testAssets.Controller logs := testAssets.Logs @@ -500,7 +500,7 @@ func TestReconcileOnCompletedPipelineRun(t *testing.T) { // create fake recorder for testing fr := record.NewFakeRecorder(1) - testAssets := getPipelineRunController(d, fr) + testAssets := getPipelineRunController(t, d, fr) c := testAssets.Controller clients := testAssets.Clients @@ -598,7 +598,7 @@ func TestReconcileOnCancelledPipelineRun(t *testing.T) { // create fake recorder for testing fr := record.NewFakeRecorder(1) - testAssets := getPipelineRunController(d, fr) + testAssets := getPipelineRunController(t, d, fr) c := testAssets.Controller clients := testAssets.Clients @@ -646,7 +646,7 @@ func TestReconcileWithTimeout(t *testing.T) { // create fake recorder for testing fr := record.NewFakeRecorder(2) - testAssets := getPipelineRunController(d, fr) + testAssets := getPipelineRunController(t, d, fr) c := testAssets.Controller clients := testAssets.Clients @@ -701,7 +701,7 @@ func TestReconcileCancelledPipelineRun(t *testing.T) { // create fake recorder for testing fr := record.NewFakeRecorder(2) - testAssets := getPipelineRunController(d, fr) + testAssets := getPipelineRunController(t, d, fr) c := testAssets.Controller clients := testAssets.Clients @@ -755,7 +755,7 @@ func TestReconcilePropagateLabels(t *testing.T) { // create fake recorder for testing fr := record.NewFakeRecorder(2) - testAssets := getPipelineRunController(d, fr) + testAssets := getPipelineRunController(t, d, fr) c := testAssets.Controller clients := testAssets.Clients @@ -866,7 +866,7 @@ func TestReconcileWithTimeoutAndRetry(t *testing.T) { fr := record.NewFakeRecorder(2) - testAssets := getPipelineRunController(d, fr) + testAssets := getPipelineRunController(t, d, fr) c := testAssets.Controller clients := testAssets.Clients diff --git a/pkg/reconciler/v1alpha1/pipelinerun/resources/pipelinerunresolution_test.go b/pkg/reconciler/v1alpha1/pipelinerun/resources/pipelinerunresolution_test.go index d42e79c10c2..53c79f27fa5 100644 --- a/pkg/reconciler/v1alpha1/pipelinerun/resources/pipelinerunresolution_test.go +++ b/pkg/reconciler/v1alpha1/pipelinerun/resources/pipelinerunresolution_test.go @@ -801,7 +801,7 @@ func TestGetPipelineConditionStatus(t *testing.T) { } for _, tc := range tcs { t.Run(tc.name, func(t *testing.T) { - c := GetPipelineConditionStatus("somepipelinerun", tc.state, zap.NewNop().Sugar(), &metav1.Time{time.Now()}, + c := GetPipelineConditionStatus("somepipelinerun", tc.state, zap.NewNop().Sugar(), &metav1.Time{Time: time.Now()}, nil) if c.Status != tc.expectedStatus { t.Fatalf("Expected to get status %s but got %s for state %v", tc.expectedStatus, c.Status, tc.state) diff --git a/pkg/reconciler/v1alpha1/taskrun/cancel_test.go b/pkg/reconciler/v1alpha1/taskrun/cancel_test.go index a89c9e88a03..52f5f042209 100644 --- a/pkg/reconciler/v1alpha1/taskrun/cancel_test.go +++ b/pkg/reconciler/v1alpha1/taskrun/cancel_test.go @@ -82,7 +82,7 @@ func TestCancelTaskRun(t *testing.T) { } observer, _ := observer.New(zap.InfoLevel) - c, _ := test.SeedTestData(d) + c, _ := test.SeedTestData(t, d) err := cancelTaskRun(tc.taskRun, c.Kube, zap.New(observer).Sugar()) if err != nil { t.Fatal(err) diff --git a/pkg/reconciler/v1alpha1/taskrun/entrypoint/entrypoint_test.go b/pkg/reconciler/v1alpha1/taskrun/entrypoint/entrypoint_test.go index 94609a88787..7b9d1ce4c1c 100644 --- a/pkg/reconciler/v1alpha1/taskrun/entrypoint/entrypoint_test.go +++ b/pkg/reconciler/v1alpha1/taskrun/entrypoint/entrypoint_test.go @@ -215,12 +215,16 @@ func TestGetRemoteEntrypoint(t *testing.T) { if r.Method != http.MethodGet { t.Errorf("Method; got %v, want %v", r.Method, http.MethodGet) } - w.Write(mustRawConfigFile(t, img)) + if _, err := w.Write(mustRawConfigFile(t, img)); err != nil { + t.Fatal(err) + } case manifestPath: if r.Method != http.MethodGet { t.Errorf("Method; got %v, want %v", r.Method, http.MethodGet) } - w.Write(mustRawManifest(t, img)) + if _, err := w.Write(mustRawManifest(t, img)); err != nil { + t.Fatal(err) + } default: t.Fatalf("Unexpected path: %v", r.URL.Path) } @@ -284,12 +288,16 @@ func TestGetRemoteEntrypointWithNonDefaultSA(t *testing.T) { if r.Method != http.MethodGet { t.Errorf("Method; got %v, want %v", r.Method, http.MethodGet) } - w.Write(mustRawConfigFile(t, img)) + if _, err := w.Write(mustRawConfigFile(t, img)); err != nil { + t.Fatal(err) + } case manifestPath: if r.Method != http.MethodGet { t.Errorf("Method; got %v, want %v", r.Method, http.MethodGet) } - w.Write(mustRawManifest(t, img)) + if _, err := w.Write(mustRawManifest(t, img)); err != nil { + t.Fatal(err) + } default: t.Fatalf("Unexpected path: %v", r.URL.Path) } diff --git a/pkg/reconciler/v1alpha1/taskrun/resources/apply_test.go b/pkg/reconciler/v1alpha1/taskrun/resources/apply_test.go index 0155c71d4aa..23f0b23e3f7 100644 --- a/pkg/reconciler/v1alpha1/taskrun/resources/apply_test.go +++ b/pkg/reconciler/v1alpha1/taskrun/resources/apply_test.go @@ -278,10 +278,9 @@ func TestVolumeReplacement(t *testing.T) { Name: "${name}", VolumeSource: corev1.VolumeSource{ ConfigMap: &corev1.ConfigMapVolumeSource{ - corev1.LocalObjectReference{"${configmapname}"}, - nil, - nil, - nil, + LocalObjectReference: corev1.LocalObjectReference{ + Name: "${configmapname}", + }, }, }}, }, @@ -295,10 +294,9 @@ func TestVolumeReplacement(t *testing.T) { Name: "myname", VolumeSource: corev1.VolumeSource{ ConfigMap: &corev1.ConfigMapVolumeSource{ - corev1.LocalObjectReference{"cfgmapname"}, - nil, - nil, - nil, + LocalObjectReference: corev1.LocalObjectReference{ + Name: "cfgmapname", + }, }, }}, }, @@ -310,10 +308,7 @@ func TestVolumeReplacement(t *testing.T) { Name: "${name}", VolumeSource: corev1.VolumeSource{ Secret: &corev1.SecretVolumeSource{ - "${secretname}", - nil, - nil, - nil, + SecretName: "${secretname}", }, }}, }, @@ -327,10 +322,7 @@ func TestVolumeReplacement(t *testing.T) { Name: "mysecret", VolumeSource: corev1.VolumeSource{ Secret: &corev1.SecretVolumeSource{ - "totallysecure", - nil, - nil, - nil, + SecretName: "totallysecure", }, }}, }, diff --git a/pkg/reconciler/v1alpha1/taskrun/resources/input_resource_test.go b/pkg/reconciler/v1alpha1/taskrun/resources/input_resource_test.go index e5e69d2e85e..ea2c02ec41a 100644 --- a/pkg/reconciler/v1alpha1/taskrun/resources/input_resource_test.go +++ b/pkg/reconciler/v1alpha1/taskrun/resources/input_resource_test.go @@ -63,7 +63,7 @@ var ( } ) -func setUp() { +func setUp(t *testing.T) { logger, _ = logging.NewLogger("", "") fakeClient := fakeclientset.NewSimpleClientset() sharedInfomer := informers.NewSharedInformerFactory(fakeClient, 0) @@ -195,7 +195,9 @@ func setUp() { }, }} for _, r := range rs { - pipelineResourceInformer.Informer().GetIndexer().Add(r) + if err := pipelineResourceInformer.Informer().GetIndexer().Add(r); err != nil { + t.Fatal(err) + } } } @@ -694,7 +696,7 @@ func TestAddResourceToTask(t *testing.T) { }, }} { t.Run(c.desc, func(t *testing.T) { - setUp() + setUp(t) names.TestingSeed() fakekubeclient := fakek8s.NewSimpleClientset() got, err := AddInputResource(fakekubeclient, c.task.Name, &c.task.Spec, c.taskRun, pipelineResourceLister, logger) @@ -901,7 +903,7 @@ func TestStorageInputResource(t *testing.T) { }} { t.Run(c.desc, func(t *testing.T) { names.TestingSeed() - setUp() + setUp(t) fakekubeclient := fakek8s.NewSimpleClientset() got, err := AddInputResource(fakekubeclient, c.task.Name, &c.task.Spec, c.taskRun, pipelineResourceLister, logger) if (err != nil) != c.wantErr { @@ -1017,7 +1019,7 @@ func TestAddStepsToTaskWithBucketFromConfigMap(t *testing.T) { }, }} { t.Run(c.desc, func(t *testing.T) { - setUp() + setUp(t) fakekubeclient := fakek8s.NewSimpleClientset( &corev1.ConfigMap{ ObjectMeta: metav1.ObjectMeta{ diff --git a/pkg/reconciler/v1alpha1/taskrun/resources/output_resource_test.go b/pkg/reconciler/v1alpha1/taskrun/resources/output_resource_test.go index 1dd8e72c16d..9b7e48f4867 100644 --- a/pkg/reconciler/v1alpha1/taskrun/resources/output_resource_test.go +++ b/pkg/reconciler/v1alpha1/taskrun/resources/output_resource_test.go @@ -35,7 +35,7 @@ var ( outputpipelineResourceLister listers.PipelineResourceLister ) -func outputResourceSetup() { +func outputResourceSetup(t *testing.T) { logger, _ = logging.NewLogger("", "") fakeClient := fakeclientset.NewSimpleClientset() sharedInfomer := informers.NewSharedInformerFactory(fakeClient, 0) @@ -99,7 +99,9 @@ func outputResourceSetup() { }} for _, r := range rs { - pipelineResourceInformer.Informer().GetIndexer().Add(r) + if err := pipelineResourceInformer.Informer().GetIndexer().Add(r); err != nil { + t.Fatal(err) + } } } func TestValidOutputResources(t *testing.T) { @@ -680,7 +682,7 @@ func TestValidOutputResources(t *testing.T) { }} { t.Run(c.name, func(t *testing.T) { names.TestingSeed() - outputResourceSetup() + outputResourceSetup(t) fakekubeclient := fakek8s.NewSimpleClientset() err := AddOutputResources(fakekubeclient, c.task.Name, &c.task.Spec, c.taskRun, outputpipelineResourceLister, logger) if err != nil { @@ -855,7 +857,7 @@ func TestValidOutputResourcesWithBucketStorage(t *testing.T) { }, }} { t.Run(c.name, func(t *testing.T) { - outputResourceSetup() + outputResourceSetup(t) names.TestingSeed() fakekubeclient := fakek8s.NewSimpleClientset( &corev1.ConfigMap{ @@ -1108,7 +1110,7 @@ func TestInValidOutputResources(t *testing.T) { wantErr: true, }} { t.Run(c.desc, func(t *testing.T) { - outputResourceSetup() + outputResourceSetup(t) fakekubeclient := fakek8s.NewSimpleClientset() err := AddOutputResources(fakekubeclient, c.task.Name, &c.task.Spec, c.taskRun, outputpipelineResourceLister, logger) if (err != nil) != c.wantErr { diff --git a/pkg/reconciler/v1alpha1/taskrun/taskrun_test.go b/pkg/reconciler/v1alpha1/taskrun/taskrun_test.go index afa24037996..1564f216f50 100644 --- a/pkg/reconciler/v1alpha1/taskrun/taskrun_test.go +++ b/pkg/reconciler/v1alpha1/taskrun/taskrun_test.go @@ -110,7 +110,10 @@ var ( )), tb.TaskVolume("volume-configmap", tb.VolumeSource(corev1.VolumeSource{ ConfigMap: &corev1.ConfigMapVolumeSource{ - corev1.LocalObjectReference{"${inputs.params.configmapname}"}, nil, nil, nil}, + LocalObjectReference: corev1.LocalObjectReference{ + Name: "${inputs.params.configmapname}", + }, + }, })), )) @@ -180,9 +183,9 @@ func getRunName(tr *v1alpha1.TaskRun) string { // getTaskRunController returns an instance of the TaskRun controller/reconciler that has been seeded with // d, where d represents the state of the system (existing resources) needed for the test. -func getTaskRunController(d test.Data) test.TestAssets { +func getTaskRunController(t *testing.T, d test.Data) test.TestAssets { entrypointCache, _ = entrypoint.NewCache() - c, i := test.SeedTestData(d) + c, i := test.SeedTestData(t, d) observer, logs := observer.New(zap.InfoLevel) configMapWatcher := configmap.NewInformedWatcher(c.Kube, system.GetNamespace()) stopCh := make(chan struct{}) @@ -440,7 +443,10 @@ func TestReconcile(t *testing.T) { Name: "volume-configmap", VolumeSource: corev1.VolumeSource{ ConfigMap: &corev1.ConfigMapVolumeSource{ - corev1.LocalObjectReference{"configbar"}, nil, nil, nil}, + LocalObjectReference: corev1.LocalObjectReference{ + Name: "configbar", + }, + }, }, }, toolsVolume, workspaceVolume, homeVolume), tb.PodRestartPolicy(corev1.RestartPolicyNever), @@ -954,19 +960,21 @@ func TestReconcile(t *testing.T) { }} { t.Run(tc.name, func(t *testing.T) { names.TestingSeed() - testAssets := getTaskRunController(d) + testAssets := getTaskRunController(t, d) c := testAssets.Controller clients := testAssets.Clients saName := tc.taskRun.Spec.ServiceAccount if saName == "" { saName = "default" } - clients.Kube.CoreV1().ServiceAccounts(tc.taskRun.Namespace).Create(&corev1.ServiceAccount{ + if _, err := clients.Kube.CoreV1().ServiceAccounts(tc.taskRun.Namespace).Create(&corev1.ServiceAccount{ ObjectMeta: metav1.ObjectMeta{ Name: saName, Namespace: tc.taskRun.Namespace, }, - }) + }); err != nil { + t.Fatal(err) + } entrypoint.AddToEntrypointCache(entrypointCache, "override-with-git:latest", []string{"/ko-app/git-init"}) entrypoint.AddToEntrypointCache(entrypointCache, "override-with-bash-noop:latest", []string{"/ko-app/bash"}) @@ -1026,7 +1034,7 @@ func TestReconcile_SetsStartTime(t *testing.T) { TaskRuns: []*v1alpha1.TaskRun{taskRun}, Tasks: []*v1alpha1.Task{simpleTask}, } - testAssets := getTaskRunController(d) + testAssets := getTaskRunController(t, d) if err := testAssets.Controller.Reconciler.Reconcile(context.Background(), getRunName(taskRun)); err != nil { t.Errorf("expected no error reconciling valid TaskRun but got %v", err) @@ -1056,7 +1064,7 @@ func TestReconcile_DoesntChangeStartTime(t *testing.T) { }, }}, } - testAssets := getTaskRunController(d) + testAssets := getTaskRunController(t, d) if err := testAssets.Controller.Reconciler.Reconcile(context.Background(), getRunName(taskRun)); err != nil { t.Errorf("expected no error reconciling valid TaskRun but got %v", err) @@ -1099,7 +1107,7 @@ func TestReconcileInvalidTaskRuns(t *testing.T) { for _, tc := range testcases { t.Run(tc.name, func(t *testing.T) { - testAssets := getTaskRunController(d) + testAssets := getTaskRunController(t, d) c := testAssets.Controller clients := testAssets.Clients err := c.Reconciler.Reconcile(context.Background(), getRunName(tc.taskRun)) @@ -1135,7 +1143,7 @@ func TestReconcilePodFetchError(t *testing.T) { Tasks: []*v1alpha1.Task{simpleTask}, } - testAssets := getTaskRunController(d) + testAssets := getTaskRunController(t, d) c := testAssets.Controller clients := testAssets.Clients @@ -1182,7 +1190,7 @@ func TestReconcilePodUpdateStatus(t *testing.T) { Pods: []*corev1.Pod{pod}, } - testAssets := getTaskRunController(d) + testAssets := getTaskRunController(t, d) c := testAssets.Controller clients := testAssets.Clients @@ -1270,7 +1278,7 @@ func TestReconcileOnCompletedTaskRun(t *testing.T) { Tasks: []*v1alpha1.Task{simpleTask}, } - testAssets := getTaskRunController(d) + testAssets := getTaskRunController(t, d) c := testAssets.Controller clients := testAssets.Clients @@ -1299,7 +1307,7 @@ func TestReconcileOnCancelledTaskRun(t *testing.T) { Tasks: []*v1alpha1.Task{simpleTask}, } - testAssets := getTaskRunController(d) + testAssets := getTaskRunController(t, d) c := testAssets.Controller clients := testAssets.Clients @@ -1338,7 +1346,7 @@ func TestReconcileOnTimedOutTaskRun(t *testing.T) { Tasks: []*v1alpha1.Task{simpleTask}, } - testAssets := getTaskRunController(d) + testAssets := getTaskRunController(t, d) c := testAssets.Controller clients := testAssets.Clients diff --git a/test/artifact_bucket_test.go b/test/artifact_bucket_test.go index ef758bfebb6..c83fdcac827 100644 --- a/test/artifact_bucket_test.go +++ b/test/artifact_bucket_test.go @@ -108,8 +108,10 @@ func TestStorageBucketPipelineRun(t *testing.T) { v1alpha1.BucketServiceAccountSecretName: bucketSecretName, v1alpha1.BucketServiceAccountSecretKey: bucketSecretKey, } - updateConfigMap(c.KubeClient, systemNamespace, v1alpha1.BucketConfigName, configMapData) - defer resetConfigMap(c, systemNamespace, v1alpha1.BucketConfigName, originalConfigMapData) + if err := updateConfigMap(c.KubeClient, systemNamespace, v1alpha1.BucketConfigName, configMapData); err != nil { + t.Fatal(err) + } + defer resetConfigMap(t, c, systemNamespace, v1alpha1.BucketConfigName, originalConfigMapData) t.Logf("Creating Git PipelineResource %s", helloworldResourceName) helloworldResource := tb.PipelineResource(helloworldResourceName, namespace, tb.PipelineResourceSpec( @@ -228,8 +230,10 @@ func deleteBucketSecret(c *clients, t *testing.T, namespace string) { } } -func resetConfigMap(c *clients, namespace, configName string, values map[string]string) error { - return updateConfigMap(c.KubeClient, namespace, configName, values) +func resetConfigMap(t *testing.T, c *clients, namespace, configName string, values map[string]string) { + if err := updateConfigMap(c.KubeClient, namespace, configName, values); err != nil { + t.Log(err) + } } func runTaskToDeleteBucket(c *clients, t *testing.T, namespace, bucketName, bucketSecretName, bucketSecretKey string) { diff --git a/test/controller.go b/test/controller.go index 4e8a9a2b7f5..f1dec6178aa 100644 --- a/test/controller.go +++ b/test/controller.go @@ -14,6 +14,8 @@ limitations under the License. package test import ( + "testing" + "github.com/knative/pkg/controller" "github.com/tektoncd/pipeline/pkg/apis/pipeline/v1alpha1" fakepipelineclientset "github.com/tektoncd/pipeline/pkg/client/clientset/versioned/fake" @@ -76,7 +78,7 @@ type TestAssets struct { // SeedTestData returns Clients and Informers populated with the // given Data. -func SeedTestData(d Data) (Clients, Informers) { +func SeedTestData(t *testing.T, d Data) (Clients, Informers) { objs := []runtime.Object{} for _, r := range d.PipelineResources { objs = append(objs, r) @@ -122,25 +124,39 @@ func SeedTestData(d Data) (Clients, Informers) { } for _, pr := range d.PipelineRuns { - i.PipelineRun.Informer().GetIndexer().Add(pr) + if err := i.PipelineRun.Informer().GetIndexer().Add(pr); err != nil { + t.Fatal(err) + } } for _, p := range d.Pipelines { - i.Pipeline.Informer().GetIndexer().Add(p) + if err := i.Pipeline.Informer().GetIndexer().Add(p); err != nil { + t.Fatal(err) + } } for _, tr := range d.TaskRuns { - i.TaskRun.Informer().GetIndexer().Add(tr) + if err := i.TaskRun.Informer().GetIndexer().Add(tr); err != nil { + t.Fatal(err) + } } - for _, t := range d.Tasks { - i.Task.Informer().GetIndexer().Add(t) + for _, ta := range d.Tasks { + if err := i.Task.Informer().GetIndexer().Add(ta); err != nil { + t.Fatal(err) + } } for _, ct := range d.ClusterTasks { - i.ClusterTask.Informer().GetIndexer().Add(ct) + if err := i.ClusterTask.Informer().GetIndexer().Add(ct); err != nil { + t.Fatal(err) + } } for _, r := range d.PipelineResources { - i.PipelineResource.Informer().GetIndexer().Add(r) + if err := i.PipelineResource.Informer().GetIndexer().Add(r); err != nil { + t.Fatal(err) + } } for _, p := range d.Pods { - i.Pod.Informer().GetIndexer().Add(p) + if err := i.Pod.Informer().GetIndexer().Add(p); err != nil { + t.Fatal(err) + } } return c, i } diff --git a/test/gcs_taskrun_test.go b/test/gcs_taskrun_test.go index eb3cbe2661e..ec83f3fa729 100644 --- a/test/gcs_taskrun_test.go +++ b/test/gcs_taskrun_test.go @@ -98,10 +98,3 @@ func getResources(namespace, name, secretName, configFile string) *v1alpha1.Pipe } return res } - -type GCPProject struct { - GCPconfig `json:"core"` -} -type GCPconfig struct { - Name string `json:"project"` -} diff --git a/test/gohelloworld/main.go b/test/gohelloworld/main.go index eb7670ddc3f..95b6b44eec4 100644 --- a/test/gohelloworld/main.go +++ b/test/gohelloworld/main.go @@ -15,5 +15,7 @@ func main() { log.Print("Hello world sample started.") http.HandleFunc("/", handler) - http.ListenAndServe(":8080", nil) + if err := http.ListenAndServe(":8080", nil); err != nil { + panic(err) + } } diff --git a/test/kaniko_task_test.go b/test/kaniko_task_test.go index ef13981e64a..64e3f9cc34a 100644 --- a/test/kaniko_task_test.go +++ b/test/kaniko_task_test.go @@ -138,7 +138,7 @@ func TestKanikoTaskRun(t *testing.T) { t.Fatalf("Expected output %s from pod %s but got %s", kanikoBuildOutput, podName, logs) } // make sure the pushed digest matches the one we pushed - re := regexp.MustCompile("digest: (sha256:\\w+)") + re := regexp.MustCompile(`digest: (sha256:\w+)`) match := re.FindStringSubmatch(logs) // make sure we found a match and it has the capture group if len(match) != 2 { diff --git a/test/logs/pod/watcher.go b/test/logs/pod/watcher.go index 0eba9adb013..e036cf914c9 100644 --- a/test/logs/pod/watcher.go +++ b/test/logs/pod/watcher.go @@ -55,9 +55,7 @@ func (w *Watcher) Start(ctx context.Context) error { watcher.Stop() return case evt, ok := <-watcher.ResultChan(): - if !ok { - // TODO: reconnect watch - } + // TODO: reconnect watch w.versions <- evt.Object.(*v1.Pod) } diff --git a/test/presubmit-tests.sh b/test/presubmit-tests.sh index 8a78db44271..52f95771c8a 100755 --- a/test/presubmit-tests.sh +++ b/test/presubmit-tests.sh @@ -27,6 +27,10 @@ export DISABLE_MD_LINTING=1 source $(dirname $0)/../vendor/github.com/tektoncd/plumbing/scripts/presubmit-tests.sh +function post_build_tests() { + golangci-lint run +} + # We use the default build, unit and integration test runners. main $@ diff --git a/test/wait_test.go b/test/wait_test.go index 56069195cec..bc6e52631c3 100644 --- a/test/wait_test.go +++ b/test/wait_test.go @@ -43,7 +43,7 @@ func TestWaitForTaskRunStateSucceed(t *testing.T) { )), }, } - c := fakeClients(d) + c := fakeClients(t, d) err := WaitForTaskRunState(c, "foo", TaskRunSucceed("foo"), "TestTaskRunSucceed") if err != nil { t.Fatal(err) @@ -57,7 +57,7 @@ func TestWaitForTaskRunStateFailed(t *testing.T) { )), }, } - c := fakeClients(d) + c := fakeClients(t, d) err := WaitForTaskRunState(c, "foo", TaskRunFailed("foo"), "TestTaskRunFailed") if err != nil { t.Fatal(err) @@ -72,7 +72,7 @@ func TestWaitForPipelineRunStateSucceed(t *testing.T) { )), }, } - c := fakeClients(d) + c := fakeClients(t, d) err := WaitForPipelineRunState(c, "bar", 2*time.Second, PipelineRunSucceed("bar"), "TestWaitForPipelineRunSucceed") if err != nil { t.Fatal(err) @@ -87,15 +87,15 @@ func TestWaitForPipelineRunStateFailed(t *testing.T) { )), }, } - c := fakeClients(d) + c := fakeClients(t, d) err := WaitForPipelineRunState(c, "bar", 2*time.Second, PipelineRunFailed("bar"), "TestWaitForPipelineRunFailed") if err != nil { t.Fatal(err) } } -func fakeClients(d Data) *clients { - fakeClients, _ := SeedTestData(d) +func fakeClients(t *testing.T, d Data) *clients { + fakeClients, _ := SeedTestData(t, d) // c.KubeClient = fakeClients.Kube return &clients{ PipelineClient: fakeClients.Pipeline.TektonV1alpha1().Pipelines(waitNamespace),