From bd8e2f350e2a34ce59360d1aadf0054857f13077 Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Thu, 22 Jan 2026 09:41:20 +0100 Subject: [PATCH] Use `require` to exit tests (#5998) --- cmd/agent/core/config_test.go | 13 ++++------ pipeline/frontend/yaml/parse_test.go | 24 +++++-------------- server/grpc/rpc_test.go | 9 +++---- server/services/config/combined_test.go | 5 ++-- server/services/utils/http_test.go | 12 +++------- server/store/datastore/engine_test.go | 6 ++--- .../datastore/migration/migration_test.go | 4 +--- server/store/datastore/pipeline_test.go | 5 ++-- server/store/datastore/registry_test.go | 4 +--- server/store/datastore/step_test.go | 5 ++-- woodpecker-go/woodpecker/client_test.go | 5 ++-- 11 files changed, 28 insertions(+), 64 deletions(-) diff --git a/cmd/agent/core/config_test.go b/cmd/agent/core/config_test.go index d14e60012..0a4c58c12 100644 --- a/cmd/agent/core/config_test.go +++ b/cmd/agent/core/config_test.go @@ -19,6 +19,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestReadAgentIDFileNotExists(t *testing.T) { @@ -27,16 +28,12 @@ func TestReadAgentIDFileNotExists(t *testing.T) { func TestReadAgentIDFileExists(t *testing.T) { tmpF, errTmpF := os.CreateTemp(t.TempDir(), "tmp_") - if !assert.NoError(t, errTmpF) { - return - } + require.NoError(t, errTmpF) defer os.Remove(tmpF.Name()) // there is an existing config errWrite := os.WriteFile(tmpF.Name(), []byte(`{"agent_id":3}`), 0o644) - if !assert.NoError(t, errWrite) { - return - } + require.NoError(t, errWrite) // read existing config actual := readAgentConfig(tmpF.Name()) @@ -49,9 +46,7 @@ func TestReadAgentIDFileExists(t *testing.T) { assert.EqualValues(t, 33, actual.AgentID) tmpF2, errTmpF := os.CreateTemp(t.TempDir(), "tmp_") - if !assert.NoError(t, errTmpF) { - return - } + require.NoError(t, errTmpF) defer os.Remove(tmpF2.Name()) // write new config diff --git a/pipeline/frontend/yaml/parse_test.go b/pipeline/frontend/yaml/parse_test.go index 2afdd85d4..2c2b2325b 100644 --- a/pipeline/frontend/yaml/parse_test.go +++ b/pipeline/frontend/yaml/parse_test.go @@ -150,14 +150,10 @@ pipeline: ` workflow1, err := ParseString(sampleYamlPipeline) - if !assert.NoError(t, err) { - return - } + require.NoError(t, err) workflow2, err := ParseString(sampleYamlPipelineLegacyIgnore) - if !assert.NoError(t, err) { - return - } + require.NoError(t, err) assert.EqualValues(t, workflow1, workflow2) assert.Len(t, workflow1.Steps.ContainerList, 1) @@ -248,14 +244,10 @@ steps: func TestReSerialize(t *testing.T) { work1, err := ParseString(sampleVarYaml) - if !assert.NoError(t, err) { - t.Fail() - } + require.NoError(t, err) work1Bin, err := yaml.Marshal(work1) - if !assert.NoError(t, err) { - t.Fail() - } + require.NoError(t, err) assert.EqualValues(t, `steps: - name: notify_fail @@ -285,14 +277,10 @@ skip_clone: false `, string(work1Bin)) work2, err := ParseString(sampleYaml) - if !assert.NoError(t, err) { - t.Fail() - } + require.NoError(t, err) workBin2, err := yaml.Marshal(work2) - if !assert.NoError(t, err) { - t.Fail() - } + require.NoError(t, err) // TODO: fix "steps.[1].depends_on: []" to be re-serialized! assert.EqualValues(t, `when: diff --git a/server/grpc/rpc_test.go b/server/grpc/rpc_test.go index 1a20abdc5..8c3775c7c 100644 --- a/server/grpc/rpc_test.go +++ b/server/grpc/rpc_test.go @@ -20,6 +20,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" + "github.com/stretchr/testify/require" "google.golang.org/grpc/metadata" "go.woodpecker-ci.org/woodpecker/v3/pipeline/rpc" @@ -62,9 +63,7 @@ func TestRegisterAgent(t *testing.T) { Backend: "backend", Capacity: 2, }) - if !assert.NoError(t, err) { - return - } + require.NoError(t, err) assert.EqualValues(t, 1337, agentID) }) @@ -104,9 +103,7 @@ func TestRegisterAgent(t *testing.T) { Backend: "backend", Capacity: 2, }) - if !assert.NoError(t, err) { - return - } + require.NoError(t, err) assert.EqualValues(t, 1337, agentID) }) diff --git a/server/services/config/combined_test.go b/server/services/config/combined_test.go index 2b34b9a79..e4a71596c 100644 --- a/server/services/config/combined_test.go +++ b/server/services/config/combined_test.go @@ -28,6 +28,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" + "github.com/stretchr/testify/require" "github.com/yaronf/httpsign" "go.woodpecker-ci.org/woodpecker/v3/server/forge/mocks" @@ -188,9 +189,7 @@ func TestFetchFromConfigService(t *testing.T) { defer ts.Close() client, err := utils.NewHTTPClient(privEd25519Key, "loopback") - if !assert.NoError(t, err) { - return - } + require.NoError(t, err) httpFetcher := config.NewHTTP(ts.URL+"/", client) diff --git a/server/services/utils/http_test.go b/server/services/utils/http_test.go index a6603a6fd..d3137aa03 100644 --- a/server/services/utils/http_test.go +++ b/server/services/utils/http_test.go @@ -34,9 +34,7 @@ func TestSignClient(t *testing.T) { pubKeyID := "woodpecker-ci-extensions" pubEd25519Key, privEd25519Key, err := ed25519.GenerateKey(rand.Reader) - if !assert.NoError(t, err) { - return - } + require.NoError(t, err) body := []byte("{\"foo\":\"bar\"}") @@ -55,17 +53,13 @@ func TestSignClient(t *testing.T) { server := httptest.NewServer(http.HandlerFunc(verifyHandler)) req, err := http.NewRequest("GET", server.URL+"/", bytes.NewBuffer(body)) - if !assert.NoError(t, err) { - return - } + require.NoError(t, err) req.Header.Set("Date", time.Now().Format(time.RFC3339)) req.Header.Set("Content-Type", "application/json") client, err := utils.NewHTTPClient(privEd25519Key, "loopback") - if !assert.NoError(t, err) { - return - } + require.NoError(t, err) rr, err := client.Do(req) assert.NoError(t, err) diff --git a/server/store/datastore/engine_test.go b/server/store/datastore/engine_test.go index e567e7566..74ed9032c 100644 --- a/server/store/datastore/engine_test.go +++ b/server/store/datastore/engine_test.go @@ -19,7 +19,7 @@ import ( "testing" "time" - "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "xorm.io/xorm" "xorm.io/xorm/schemas" ) @@ -40,9 +40,7 @@ func testDriverConfig() (driver, config string) { // environment variables, with fallback to in-memory sqlite. func newTestStore(t *testing.T, tables ...any) (*storage, func()) { engine, err := xorm.NewEngine(testDriverConfig()) - if !assert.NoError(t, err) { - t.FailNow() - } + require.NoError(t, err) for _, table := range tables { if err := engine.Sync(table); err != nil { diff --git a/server/store/datastore/migration/migration_test.go b/server/store/datastore/migration/migration_test.go index f38c004d7..374d6771b 100644 --- a/server/store/datastore/migration/migration_test.go +++ b/server/store/datastore/migration/migration_test.go @@ -50,9 +50,7 @@ func createSQLiteDB(t *testing.T) string { dbF, err := os.ReadFile(sqliteDB) require.NoError(t, err) - if !assert.NoError(t, os.WriteFile(tmpF.Name(), dbF, 0o644)) { - t.FailNow() - } + require.NoError(t, os.WriteFile(tmpF.Name(), dbF, 0o644)) return tmpF.Name() } diff --git a/server/store/datastore/pipeline_test.go b/server/store/datastore/pipeline_test.go index 44d42fcf6..236a42c0a 100644 --- a/server/store/datastore/pipeline_test.go +++ b/server/store/datastore/pipeline_test.go @@ -20,6 +20,7 @@ import ( "time" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "go.woodpecker-ci.org/woodpecker/v3/server/model" "go.woodpecker-ci.org/woodpecker/v3/server/store/types" @@ -210,9 +211,7 @@ func TestPipelineIncrement(t *testing.T) { assert.NoError(t, store.CreateRepo(&model.Repo{ID: 2, Owner: "2", Name: "2", FullName: "2/2", ForgeRemoteID: "2"})) pipelineA := &model.Pipeline{RepoID: 1} - if !assert.NoError(t, store.CreatePipeline(pipelineA)) { - return - } + require.NoError(t, store.CreatePipeline(pipelineA)) assert.EqualValues(t, 1, pipelineA.Number) pipelineB := &model.Pipeline{RepoID: 1} diff --git a/server/store/datastore/registry_test.go b/server/store/datastore/registry_test.go index a1cbfa0d8..29dcece61 100644 --- a/server/store/datastore/registry_test.go +++ b/server/store/datastore/registry_test.go @@ -114,9 +114,7 @@ func TestRegistryDelete(t *testing.T) { Username: "foo", Password: "bar", } - if !assert.NoError(t, store.RegistryCreate(reg1)) { - return - } + require.NoError(t, store.RegistryCreate(reg1)) assert.NoError(t, store.RegistryDelete(reg1)) assert.ErrorIs(t, store.RegistryDelete(reg1), types.RecordNotExist) diff --git a/server/store/datastore/step_test.go b/server/store/datastore/step_test.go index 95d7bba88..0cfa651f7 100644 --- a/server/store/datastore/step_test.go +++ b/server/store/datastore/step_test.go @@ -19,6 +19,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" "go.woodpecker-ci.org/woodpecker/v3/server/model" "go.woodpecker-ci.org/woodpecker/v3/server/store/types" @@ -48,9 +49,7 @@ func TestStepFind(t *testing.T) { assert.NoError(t, sess.Close()) step, err := store.StepFind(&model.Pipeline{ID: 1000}, 1) - if !assert.NoError(t, err) { - return - } + require.NoError(t, err) assert.Equal(t, steps[0], step) } diff --git a/woodpecker-go/woodpecker/client_test.go b/woodpecker-go/woodpecker/client_test.go index 4bdad1dc4..3744bdac0 100644 --- a/woodpecker-go/woodpecker/client_test.go +++ b/woodpecker-go/woodpecker/client_test.go @@ -23,6 +23,7 @@ import ( "testing" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func Test_LogLevel(t *testing.T) { @@ -30,9 +31,7 @@ func Test_LogLevel(t *testing.T) { fixtureHandler := func(w http.ResponseWriter, r *http.Request) { if r.Method == http.MethodPost { var ll LogLevel - if !assert.NoError(t, json.NewDecoder(r.Body).Decode(&ll)) { - return - } + require.NoError(t, json.NewDecoder(r.Body).Decode(&ll)) logLevel = ll.Level }