Skip to content

Commit 9957428

Browse files
committed
fix tests
1 parent 2c8847b commit 9957428

12 files changed

Lines changed: 92 additions & 144 deletions

File tree

Makefile

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -489,11 +489,11 @@ generate-ini-sqlite:
489489

490490
.PHONY: test-sqlite
491491
test-sqlite: integrations.sqlite.test generate-ini-sqlite
492-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini ./integrations.sqlite.test
492+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/sqlite.ini ./integrations.sqlite.test
493493

494494
.PHONY: test-sqlite\#%
495495
test-sqlite\#%: integrations.sqlite.test generate-ini-sqlite
496-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini ./integrations.sqlite.test -test.run $(subst .,/,$*)
496+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/sqlite.ini ./integrations.sqlite.test -test.run $(subst .,/,$*)
497497

498498
.PHONY: test-sqlite-migration
499499
test-sqlite-migration: migrations.sqlite.test migrations.individual.sqlite.test
@@ -510,11 +510,11 @@ generate-ini-mysql:
510510

511511
.PHONY: test-mysql
512512
test-mysql: integrations.mysql.test generate-ini-mysql
513-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini ./integrations.mysql.test
513+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mysql.ini ./integrations.mysql.test
514514

515515
.PHONY: test-mysql\#%
516516
test-mysql\#%: integrations.mysql.test generate-ini-mysql
517-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini ./integrations.mysql.test -test.run $(subst .,/,$*)
517+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mysql.ini ./integrations.mysql.test -test.run $(subst .,/,$*)
518518

519519
.PHONY: test-mysql-migration
520520
test-mysql-migration: migrations.mysql.test migrations.individual.mysql.test
@@ -533,11 +533,11 @@ generate-ini-pgsql:
533533

534534
.PHONY: test-pgsql
535535
test-pgsql: integrations.pgsql.test generate-ini-pgsql
536-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini ./integrations.pgsql.test
536+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/pgsql.ini ./integrations.pgsql.test
537537

538538
.PHONY: test-pgsql\#%
539539
test-pgsql\#%: integrations.pgsql.test generate-ini-pgsql
540-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini ./integrations.pgsql.test -test.run $(subst .,/,$*)
540+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/pgsql.ini ./integrations.pgsql.test -test.run $(subst .,/,$*)
541541

542542
.PHONY: test-pgsql-migration
543543
test-pgsql-migration: migrations.pgsql.test migrations.individual.pgsql.test
@@ -554,11 +554,11 @@ generate-ini-mssql:
554554

555555
.PHONY: test-mssql
556556
test-mssql: integrations.mssql.test generate-ini-mssql
557-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mssql.ini ./integrations.mssql.test
557+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mssql.ini ./integrations.mssql.test
558558

559559
.PHONY: test-mssql\#%
560560
test-mssql\#%: integrations.mssql.test generate-ini-mssql
561-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mssql.ini ./integrations.mssql.test -test.run $(subst .,/,$*)
561+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mssql.ini ./integrations.mssql.test -test.run $(subst .,/,$*)
562562

563563
.PHONY: test-mssql-migration
564564
test-mssql-migration: migrations.mssql.test migrations.individual.mssql.test
@@ -577,59 +577,59 @@ test-e2e: test-e2e-sqlite
577577

578578
.PHONY: test-e2e-sqlite
579579
test-e2e-sqlite: playwright e2e.sqlite.test generate-ini-sqlite
580-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini ./e2e.sqlite.test
580+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/sqlite.ini ./e2e.sqlite.test
581581

582582
.PHONY: test-e2e-sqlite\#%
583583
test-e2e-sqlite\#%: playwright e2e.sqlite.test generate-ini-sqlite
584-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini ./e2e.sqlite.test -test.run TestE2e/$*
584+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/sqlite.ini ./e2e.sqlite.test -test.run TestE2e/$*
585585

586586
.PHONY: test-e2e-mysql
587587
test-e2e-mysql: playwright e2e.mysql.test generate-ini-mysql
588-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini ./e2e.mysql.test
588+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mysql.ini ./e2e.mysql.test
589589

590590
.PHONY: test-e2e-mysql\#%
591591
test-e2e-mysql\#%: playwright e2e.mysql.test generate-ini-mysql
592-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini ./e2e.mysql.test -test.run TestE2e/$*
592+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mysql.ini ./e2e.mysql.test -test.run TestE2e/$*
593593

594594
.PHONY: test-e2e-pgsql
595595
test-e2e-pgsql: playwright e2e.pgsql.test generate-ini-pgsql
596-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini ./e2e.pgsql.test
596+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/pgsql.ini ./e2e.pgsql.test
597597

598598
.PHONY: test-e2e-pgsql\#%
599599
test-e2e-pgsql\#%: playwright e2e.pgsql.test generate-ini-pgsql
600-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini ./e2e.pgsql.test -test.run TestE2e/$*
600+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/pgsql.ini ./e2e.pgsql.test -test.run TestE2e/$*
601601

602602
.PHONY: test-e2e-mssql
603603
test-e2e-mssql: playwright e2e.mssql.test generate-ini-mssql
604-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mssql.ini ./e2e.mssql.test
604+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mssql.ini ./e2e.mssql.test
605605

606606
.PHONY: test-e2e-mssql\#%
607607
test-e2e-mssql\#%: playwright e2e.mssql.test generate-ini-mssql
608-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mssql.ini ./e2e.mssql.test -test.run TestE2e/$*
608+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mssql.ini ./e2e.mssql.test -test.run TestE2e/$*
609609

610610
.PHONY: bench-sqlite
611611
bench-sqlite: integrations.sqlite.test generate-ini-sqlite
612-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini ./integrations.sqlite.test -test.cpuprofile=cpu.out -test.run DontRunTests -test.bench .
612+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/sqlite.ini ./integrations.sqlite.test -test.cpuprofile=cpu.out -test.run DontRunTests -test.bench .
613613

614614
.PHONY: bench-mysql
615615
bench-mysql: integrations.mysql.test generate-ini-mysql
616-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini ./integrations.mysql.test -test.cpuprofile=cpu.out -test.run DontRunTests -test.bench .
616+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mysql.ini ./integrations.mysql.test -test.cpuprofile=cpu.out -test.run DontRunTests -test.bench .
617617

618618
.PHONY: bench-mssql
619619
bench-mssql: integrations.mssql.test generate-ini-mssql
620-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mssql.ini ./integrations.mssql.test -test.cpuprofile=cpu.out -test.run DontRunTests -test.bench .
620+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mssql.ini ./integrations.mssql.test -test.cpuprofile=cpu.out -test.run DontRunTests -test.bench .
621621

622622
.PHONY: bench-pgsql
623623
bench-pgsql: integrations.pgsql.test generate-ini-pgsql
624-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini ./integrations.pgsql.test -test.cpuprofile=cpu.out -test.run DontRunTests -test.bench .
624+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/pgsql.ini ./integrations.pgsql.test -test.cpuprofile=cpu.out -test.run DontRunTests -test.bench .
625625

626626
.PHONY: integration-test-coverage
627627
integration-test-coverage: integrations.cover.test generate-ini-mysql
628-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini ./integrations.cover.test -test.coverprofile=integration.coverage.out
628+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mysql.ini ./integrations.cover.test -test.coverprofile=integration.coverage.out
629629

630630
.PHONY: integration-test-coverage-sqlite
631631
integration-test-coverage-sqlite: integrations.cover.sqlite.test generate-ini-sqlite
632-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini ./integrations.cover.sqlite.test -test.coverprofile=integration.coverage.out
632+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/sqlite.ini ./integrations.cover.sqlite.test -test.coverprofile=integration.coverage.out
633633

634634
integrations.mysql.test: git-check $(GO_SOURCES)
635635
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration -o integrations.mysql.test
@@ -652,54 +652,54 @@ integrations.cover.sqlite.test: git-check $(GO_SOURCES)
652652
.PHONY: migrations.mysql.test
653653
migrations.mysql.test: $(GO_SOURCES) generate-ini-mysql
654654
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration/migration-test -o migrations.mysql.test
655-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini ./migrations.mysql.test
655+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mysql.ini ./migrations.mysql.test
656656

657657
.PHONY: migrations.pgsql.test
658658
migrations.pgsql.test: $(GO_SOURCES) generate-ini-pgsql
659659
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration/migration-test -o migrations.pgsql.test
660-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini ./migrations.pgsql.test
660+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/pgsql.ini ./migrations.pgsql.test
661661

662662
.PHONY: migrations.mssql.test
663663
migrations.mssql.test: $(GO_SOURCES) generate-ini-mssql
664664
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration/migration-test -o migrations.mssql.test
665-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mssql.ini ./migrations.mssql.test
665+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mssql.ini ./migrations.mssql.test
666666

667667
.PHONY: migrations.sqlite.test
668668
migrations.sqlite.test: $(GO_SOURCES) generate-ini-sqlite
669669
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/integration/migration-test -o migrations.sqlite.test -tags '$(TEST_TAGS)'
670-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini ./migrations.sqlite.test
670+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/sqlite.ini ./migrations.sqlite.test
671671

672672
.PHONY: migrations.individual.mysql.test
673673
migrations.individual.mysql.test: $(GO_SOURCES)
674-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mysql.ini $(GO) test $(GOTESTFLAGS) -tags='$(TEST_TAGS)' -p 1 $(MIGRATE_TEST_PACKAGES)
674+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mysql.ini $(GO) test $(GOTESTFLAGS) -tags='$(TEST_TAGS)' -p 1 $(MIGRATE_TEST_PACKAGES)
675675

676676
.PHONY: migrations.individual.sqlite.test\#%
677677
migrations.individual.sqlite.test\#%: $(GO_SOURCES) generate-ini-sqlite
678-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' code.gitea.io/gitea/models/migrations/$*
678+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/sqlite.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' code.gitea.io/gitea/models/migrations/$*
679679

680680
.PHONY: migrations.individual.pgsql.test
681681
migrations.individual.pgsql.test: $(GO_SOURCES)
682-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini $(GO) test $(GOTESTFLAGS) -tags='$(TEST_TAGS)' -p 1 $(MIGRATE_TEST_PACKAGES)
682+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/pgsql.ini $(GO) test $(GOTESTFLAGS) -tags='$(TEST_TAGS)' -p 1 $(MIGRATE_TEST_PACKAGES)
683683

684684
.PHONY: migrations.individual.pgsql.test\#%
685685
migrations.individual.pgsql.test\#%: $(GO_SOURCES) generate-ini-pgsql
686-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/pgsql.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' code.gitea.io/gitea/models/migrations/$*
686+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/pgsql.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' code.gitea.io/gitea/models/migrations/$*
687687

688688
.PHONY: migrations.individual.mssql.test
689689
migrations.individual.mssql.test: $(GO_SOURCES) generate-ini-mssql
690-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mssql.ini $(GO) test $(GOTESTFLAGS) -tags='$(TEST_TAGS)' -p 1 $(MIGRATE_TEST_PACKAGES)
690+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mssql.ini $(GO) test $(GOTESTFLAGS) -tags='$(TEST_TAGS)' -p 1 $(MIGRATE_TEST_PACKAGES)
691691

692692
.PHONY: migrations.individual.mssql.test\#%
693693
migrations.individual.mssql.test\#%: $(GO_SOURCES) generate-ini-mssql
694-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/mssql.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' code.gitea.io/gitea/models/migrations/$*
694+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/mssql.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' code.gitea.io/gitea/models/migrations/$*
695695

696696
.PHONY: migrations.individual.sqlite.test
697697
migrations.individual.sqlite.test: $(GO_SOURCES) generate-ini-sqlite
698-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini $(GO) test $(GOTESTFLAGS) -tags='$(TEST_TAGS)' -p 1 $(MIGRATE_TEST_PACKAGES)
698+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/sqlite.ini $(GO) test $(GOTESTFLAGS) -tags='$(TEST_TAGS)' -p 1 $(MIGRATE_TEST_PACKAGES)
699699

700700
.PHONY: migrations.individual.sqlite.test\#%
701701
migrations.individual.sqlite.test\#%: $(GO_SOURCES) generate-ini-sqlite
702-
GITEA_ROOT="$(CURDIR)" GITEA_CONF=tests/sqlite.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' code.gitea.io/gitea/models/migrations/$*
702+
GITEA_TEST_ROOT="$(CURDIR)" GITEA_TEST_CONF=tests/sqlite.ini $(GO) test $(GOTESTFLAGS) -tags '$(TEST_TAGS)' code.gitea.io/gitea/models/migrations/$*
703703

704704
e2e.mysql.test: $(GO_SOURCES)
705705
$(GO) test $(GOTESTFLAGS) -c code.gitea.io/gitea/tests/e2e -o e2e.mysql.test
@@ -747,7 +747,7 @@ security-check:
747747

748748
$(EXECUTABLE): $(GO_SOURCES) $(TAGS_PREREQ)
749749
ifneq ($(and $(STATIC),$(findstring pam,$(TAGS))),)
750-
$(error pam support set via TAGS doesn't support static builds)
750+
$(error pam support set via TAGS does not support static builds)
751751
endif
752752
CGO_ENABLED="$(CGO_ENABLED)" CGO_CFLAGS="$(CGO_CFLAGS)" $(GO) build $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(EXTLDFLAGS) $(LDFLAGS)' -o $@
753753

models/migrations/base/tests.go

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"fmt"
88
"os"
99
"path/filepath"
10-
"runtime"
1110
"testing"
1211

1312
"code.gitea.io/gitea/models/unittest"
@@ -101,28 +100,7 @@ func LoadTableSchemasMap(t *testing.T, x *xorm.Engine) map[string]*schemas.Table
101100

102101
func MainTest(m *testing.M) {
103102
testlogger.Init()
104-
105-
giteaRoot := test.SetupGiteaRoot()
106-
giteaBinary := "gitea"
107-
if runtime.GOOS == "windows" {
108-
giteaBinary += ".exe"
109-
}
110-
setting.AppPath = filepath.Join(giteaRoot, giteaBinary)
111-
if _, err := os.Stat(setting.AppPath); err != nil {
112-
testlogger.Fatalf("Could not find gitea binary at %s\n", setting.AppPath)
113-
}
114-
115-
giteaConf := os.Getenv("GITEA_CONF")
116-
if giteaConf == "" {
117-
giteaConf = filepath.Join(filepath.Dir(setting.AppPath), "tests/sqlite.ini")
118-
_, _ = fmt.Fprintf(os.Stderr, "Environment variable $GITEA_CONF not set - defaulting to %s\n", giteaConf)
119-
}
120-
121-
if !filepath.IsAbs(giteaConf) {
122-
setting.CustomConf = filepath.Join(giteaRoot, giteaConf)
123-
} else {
124-
setting.CustomConf = giteaConf
125-
}
103+
test.SetupGiteaTestEnv()
126104

127105
tmpDataPath, cleanup, err := tempdir.OsTempDir("gitea-test").MkdirTempRandom("data")
128106
if err != nil {

models/unittest/testdb.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,7 @@ type TestOptions struct {
7474
// test database. Creates the test database, and sets necessary settings.
7575
func MainTest(m *testing.M, testOptsArg ...*TestOptions) {
7676
testOpts := util.OptionalArg(testOptsArg, &TestOptions{})
77-
giteaRoot = test.SetupGiteaRoot()
78-
setting.CustomPath = filepath.Join(giteaRoot, "custom")
77+
giteaRoot = test.SetupGiteaTestEnv()
7978
InitSettingsForTesting()
8079

8180
fixturesOpts := FixturesOptions{Dir: filepath.Join(giteaRoot, "models", "fixtures"), Files: testOpts.FixtureFiles}
@@ -182,7 +181,7 @@ func CreateTestEngine(opts FixturesOptions) error {
182181
if err = db.SyncAllTables(); err != nil {
183182
return err
184183
}
185-
switch os.Getenv("GITEA_UNIT_TESTS_LOG_SQL") {
184+
switch os.Getenv("GITEA_TEST_LOG_SQL") {
186185
case "true", "1":
187186
x.ShowSQL(true)
188187
}
@@ -201,5 +200,5 @@ func PrepareTestEnv(t testing.TB) {
201200
assert.NoError(t, PrepareTestDatabase())
202201
metaPath := filepath.Join(giteaRoot, "tests", "gitea-repositories-meta")
203202
assert.NoError(t, SyncDirs(metaPath, setting.RepoRootPath))
204-
test.SetupGiteaRoot() // Makes sure GITEA_ROOT is set
203+
test.SetupGiteaTestEnv()
205204
}

modules/setting/config_env.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -181,10 +181,10 @@ func InitGiteaEnvVars() {
181181

182182
func InitGiteaEnvVarsForTesting() {
183183
InitGiteaEnvVars()
184-
_ = os.Unsetenv("GIT_AUTHOR_NAME")
185-
_ = os.Unsetenv("GIT_AUTHOR_EMAIL")
186-
_ = os.Unsetenv("GIT_AUTHOR_DATE")
187-
_ = os.Unsetenv("GIT_COMMITTER_NAME")
188-
_ = os.Unsetenv("GIT_COMMITTER_EMAIL")
189-
_ = os.Unsetenv("GIT_COMMITTER_DATE")
184+
for _, env := range os.Environ() {
185+
if strings.HasPrefix(env, "GIT_") || (strings.HasPrefix(env, "GITEA_") && !strings.HasPrefix(env, "GITEA_TEST_")) {
186+
k, _, _ := strings.Cut(env, "=")
187+
_ = os.Unsetenv(k)
188+
}
189+
}
190190
}

modules/test/utils.go

Lines changed: 38 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ package test
66
import (
77
"archive/tar"
88
"compress/gzip"
9+
"fmt"
910
"io"
1011
"net/http"
1112
"net/http/httptest"
@@ -15,6 +16,8 @@ import (
1516
"strings"
1617

1718
"code.gitea.io/gitea/modules/json"
19+
"code.gitea.io/gitea/modules/setting"
20+
"code.gitea.io/gitea/modules/testlogger"
1821
"code.gitea.io/gitea/modules/util"
1922
)
2023

@@ -59,19 +62,44 @@ func MockVariableValue[T any](p *T, v ...T) (reset func()) {
5962
return func() { *p = old }
6063
}
6164

62-
// SetupGiteaRoot Sets GITEA_ROOT if it is not already set and returns the value
63-
func SetupGiteaRoot() string {
64-
giteaRoot := os.Getenv("GITEA_ROOT")
65-
if giteaRoot != "" {
66-
return giteaRoot
65+
func SetupGiteaTestEnv() string {
66+
giteaRoot := os.Getenv("GITEA_TEST_ROOT")
67+
if giteaRoot == "" {
68+
_, filename, _, _ := runtime.Caller(0)
69+
giteaRoot = filepath.Dir(filepath.Dir(filepath.Dir(filename)))
70+
fixturesDir := filepath.Join(giteaRoot, "models", "fixtures")
71+
if exist, _ := util.IsDir(fixturesDir); !exist {
72+
panic("fixtures directory not found: " + fixturesDir)
73+
}
74+
}
75+
76+
giteaBinary := "gitea"
77+
if runtime.GOOS == "windows" {
78+
giteaBinary += ".exe"
79+
}
80+
setting.AppPath = filepath.Join(giteaRoot, giteaBinary)
81+
82+
giteaConf := os.Getenv("GITEA_TEST_CONF")
83+
if giteaConf == "" {
84+
// By default, use sqlite.ini for testing, then IDE like GoLand can start the test process with debugger.
85+
// It's easier for developers to debug bugs step by step with a debugger.
86+
// Notice: when doing "ssh push", Gitea executes sub processes, debugger won't work for the sub processes.
87+
giteaConf = "tests/sqlite.ini"
88+
_, _ = fmt.Fprintf(os.Stderr, "Environment variable GITEA_TEST_CONF not set - defaulting to %s\n", giteaConf)
89+
if !setting.EnableSQLite3 {
90+
testlogger.Fatalf(`sqlite3 requires: -tags sqlite,sqlite_unlock_notify` + "\n")
91+
}
6792
}
68-
_, filename, _, _ := runtime.Caller(0)
69-
giteaRoot = filepath.Dir(filepath.Dir(filepath.Dir(filename)))
70-
fixturesDir := filepath.Join(giteaRoot, "models", "fixtures")
71-
if exist, _ := util.IsDir(fixturesDir); !exist {
72-
panic("fixtures directory not found: " + fixturesDir)
93+
94+
if !filepath.IsAbs(giteaConf) {
95+
giteaConf = filepath.Join(giteaRoot, giteaConf)
7396
}
97+
setting.CustomConf = giteaConf
98+
setting.CustomPath = filepath.Join(giteaRoot, "custom")
99+
100+
// TODO: some git repo hooks (test fixtures) still use these env variables, need to be refactored in the future
74101
_ = os.Setenv("GITEA_ROOT", giteaRoot)
102+
_ = os.Setenv("GITEA_CONF", giteaConf)
75103
return giteaRoot
76104
}
77105

modules/test/utils_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ import (
1010
)
1111

1212
func TestSetupGiteaRoot(t *testing.T) {
13-
t.Setenv("GITEA_ROOT", "test")
13+
t.Setenv("GITEA_TEST_ROOT", "test")
1414
assert.Equal(t, "test", SetupGiteaRoot())
15-
t.Setenv("GITEA_ROOT", "")
15+
t.Setenv("GITEA_TEST_ROOT", "")
1616
assert.NotEqual(t, "test", SetupGiteaRoot())
1717
}

modules/testlogger/testlogger.go

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -171,16 +171,6 @@ func Init() {
171171
prefix = strings.TrimSuffix(filename, relFilePath)
172172

173173
log.RegisterEventWriter("test", newTestLoggerWriter)
174-
175-
duration, err := time.ParseDuration(os.Getenv("GITEA_TEST_SLOW_RUN"))
176-
if err == nil && duration > 0 {
177-
TestSlowRun = duration
178-
}
179-
180-
duration, err = time.ParseDuration(os.Getenv("GITEA_TEST_SLOW_FLUSH"))
181-
if err == nil && duration > 0 {
182-
TestSlowFlush = duration
183-
}
184174
}
185175

186176
func Fatalf(format string, args ...any) {

playwright.config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {devices} from '@playwright/test';
22
import {env} from 'node:process';
33
import type {PlaywrightTestConfig} from '@playwright/test';
44

5-
const BASE_URL = env.GITEA_URL?.replace?.(/\/$/g, '') || 'http://localhost:3000';
5+
const BASE_URL = env.GITEA_TEST_SERVER_URL?.replace?.(/\/$/g, '') || 'http://localhost:3000';
66

77
export default {
88
testDir: './tests/e2e/',

0 commit comments

Comments
 (0)