[CHORE] Move test related function to own package
- Go's deadcode eliminator is quite simple, if you put a public function in a package `aa/bb` that is used only by tests, it would still be built if package `aa/bb` was imported. This means that if such functions use libraries relevant only to tests that those libraries would still be be built and increase the binary size of a Go binary. - This is also the case with Forgejo, `models/migrations/base/tests.go` contained functions exclusively used by tests which (skipping some steps here) imports https://github.com/ClickHouse/clickhouse-go, which is 2MiB. The `code.gitea.io/gitea/models/migrations/base` package is imported by `cmd/doctor` and thus the code of the clickhouse library is also built and included in the Forgejo binary, although entirely unused and not reachable. - This patch moves the test-related functions to their own package, so Go's deadcode eliminator knows not to build the test-related functions and thus reduces the size of the Forgejo binary. - It is not possible to move this to a `_test.go` file because Go does not allow importing functions from such files, so any test helper function must be in a non-test package and file. - Reduction of size (built with `TAGS="sqlite sqlite_unlock_notify" make build`): - Before: 95912040 bytes (92M) - After: 92306888 bytes (89M)
This commit is contained in:
parent
6e83c39f13
commit
138942c09e
38 changed files with 170 additions and 276 deletions
|
@ -60,13 +60,6 @@ code.gitea.io/gitea/models/issues
|
||||||
IsErrIssueWasClosed
|
IsErrIssueWasClosed
|
||||||
ChangeMilestoneStatus
|
ChangeMilestoneStatus
|
||||||
|
|
||||||
code.gitea.io/gitea/models/migrations/base
|
|
||||||
removeAllWithRetry
|
|
||||||
newXORMEngine
|
|
||||||
deleteDB
|
|
||||||
PrepareTestEnv
|
|
||||||
MainTest
|
|
||||||
|
|
||||||
code.gitea.io/gitea/models/organization
|
code.gitea.io/gitea/models/organization
|
||||||
GetTeamNamesByID
|
GetTeamNamesByID
|
||||||
UpdateTeamUnits
|
UpdateTeamUnits
|
||||||
|
@ -93,36 +86,6 @@ code.gitea.io/gitea/models/repo
|
||||||
GetTopicByName
|
GetTopicByName
|
||||||
WatchRepoMode
|
WatchRepoMode
|
||||||
|
|
||||||
code.gitea.io/gitea/models/unittest
|
|
||||||
CheckConsistencyFor
|
|
||||||
checkForConsistency
|
|
||||||
GetXORMEngine
|
|
||||||
OverrideFixtures
|
|
||||||
InitFixtures
|
|
||||||
LoadFixtures
|
|
||||||
Copy
|
|
||||||
CopyDir
|
|
||||||
NewMockWebServer
|
|
||||||
NormalizedFullPath
|
|
||||||
FixturesDir
|
|
||||||
fatalTestError
|
|
||||||
InitSettings
|
|
||||||
MainTest
|
|
||||||
CreateTestEngine
|
|
||||||
PrepareTestDatabase
|
|
||||||
PrepareTestEnv
|
|
||||||
Cond
|
|
||||||
OrderBy
|
|
||||||
LoadBeanIfExists
|
|
||||||
BeanExists
|
|
||||||
AssertExistsAndLoadBean
|
|
||||||
GetCount
|
|
||||||
AssertNotExistsBean
|
|
||||||
AssertExistsIf
|
|
||||||
AssertSuccessfulInsert
|
|
||||||
AssertCount
|
|
||||||
AssertInt64InRange
|
|
||||||
|
|
||||||
code.gitea.io/gitea/models/user
|
code.gitea.io/gitea/models/user
|
||||||
IsErrPrimaryEmailCannotDelete
|
IsErrPrimaryEmailCannotDelete
|
||||||
ErrUserInactive.Error
|
ErrUserInactive.Error
|
||||||
|
@ -273,22 +236,6 @@ code.gitea.io/gitea/modules/sync
|
||||||
StatusTable.Start
|
StatusTable.Start
|
||||||
StatusTable.IsRunning
|
StatusTable.IsRunning
|
||||||
|
|
||||||
code.gitea.io/gitea/modules/testlogger
|
|
||||||
testLoggerWriterCloser.pushT
|
|
||||||
testLoggerWriterCloser.Log
|
|
||||||
testLoggerWriterCloser.recordError
|
|
||||||
testLoggerWriterCloser.printMsg
|
|
||||||
testLoggerWriterCloser.popT
|
|
||||||
testLoggerWriterCloser.Reset
|
|
||||||
PrintCurrentTest
|
|
||||||
Printf
|
|
||||||
NewTestLoggerWriter
|
|
||||||
TestLogEventWriter.Base
|
|
||||||
TestLogEventWriter.GetLevel
|
|
||||||
TestLogEventWriter.GetWriterName
|
|
||||||
TestLogEventWriter.GetWriterType
|
|
||||||
TestLogEventWriter.Run
|
|
||||||
|
|
||||||
code.gitea.io/gitea/modules/timeutil
|
code.gitea.io/gitea/modules/timeutil
|
||||||
GetExecutableModTime
|
GetExecutableModTime
|
||||||
MockSet
|
MockSet
|
||||||
|
|
50
assets/go-licenses.json
generated
50
assets/go-licenses.json
generated
File diff suppressed because one or more lines are too long
|
@ -6,9 +6,9 @@ package forgejo_migrations //nolint:revive
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
base.MainTest(m)
|
migration_tests.MainTest(m)
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,14 +6,14 @@ package forgejo_migrations //nolint:revive
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TestEnsureUpToDate tests the behavior of EnsureUpToDate.
|
// TestEnsureUpToDate tests the behavior of EnsureUpToDate.
|
||||||
func TestEnsureUpToDate(t *testing.T) {
|
func TestEnsureUpToDate(t *testing.T) {
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(ForgejoVersion))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(ForgejoVersion))
|
||||||
defer deferable()
|
defer deferable()
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
return
|
return
|
||||||
|
|
|
@ -6,9 +6,9 @@ package v1_22 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
base.MainTest(m)
|
migration_tests.MainTest(m)
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ package v1_22 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
@ -18,7 +18,7 @@ func Test_RemoveSSHSignaturesFromReleaseNotes(t *testing.T) {
|
||||||
Note string `xorm:"TEXT"`
|
Note string `xorm:"TEXT"`
|
||||||
}
|
}
|
||||||
|
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(Release))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(Release))
|
||||||
defer deferable()
|
defer deferable()
|
||||||
|
|
||||||
assert.NoError(t, RemoveSSHSignaturesFromReleaseNotes(x))
|
assert.NoError(t, RemoveSSHSignaturesFromReleaseNotes(x))
|
||||||
|
|
|
@ -4,22 +4,14 @@
|
||||||
package base
|
package base
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
|
||||||
"database/sql"
|
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
|
||||||
"path"
|
|
||||||
"reflect"
|
"reflect"
|
||||||
"regexp"
|
"regexp"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/db"
|
|
||||||
"code.gitea.io/gitea/models/unittest"
|
|
||||||
"code.gitea.io/gitea/modules/log"
|
"code.gitea.io/gitea/modules/log"
|
||||||
"code.gitea.io/gitea/modules/setting"
|
"code.gitea.io/gitea/modules/setting"
|
||||||
"code.gitea.io/gitea/modules/util"
|
|
||||||
|
|
||||||
"xorm.io/xorm"
|
"xorm.io/xorm"
|
||||||
"xorm.io/xorm/schemas"
|
"xorm.io/xorm/schemas"
|
||||||
|
@ -442,99 +434,3 @@ func ModifyColumn(x *xorm.Engine, tableName string, col *schemas.Column) error {
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func removeAllWithRetry(dir string) error {
|
|
||||||
var err error
|
|
||||||
for i := 0; i < 20; i++ {
|
|
||||||
err = os.RemoveAll(dir)
|
|
||||||
if err == nil {
|
|
||||||
break
|
|
||||||
}
|
|
||||||
time.Sleep(100 * time.Millisecond)
|
|
||||||
}
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
func newXORMEngine() (*xorm.Engine, error) {
|
|
||||||
if err := db.InitEngine(context.Background()); err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
x := unittest.GetXORMEngine()
|
|
||||||
return x, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func deleteDB() error {
|
|
||||||
switch {
|
|
||||||
case setting.Database.Type.IsSQLite3():
|
|
||||||
if err := util.Remove(setting.Database.Path); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return os.MkdirAll(path.Dir(setting.Database.Path), os.ModePerm)
|
|
||||||
|
|
||||||
case setting.Database.Type.IsMySQL():
|
|
||||||
db, err := sql.Open("mysql", fmt.Sprintf("%s:%s@tcp(%s)/",
|
|
||||||
setting.Database.User, setting.Database.Passwd, setting.Database.Host))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer db.Close()
|
|
||||||
|
|
||||||
if _, err = db.Exec(fmt.Sprintf("DROP DATABASE IF EXISTS %s", setting.Database.Name)); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if _, err = db.Exec(fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s", setting.Database.Name)); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
case setting.Database.Type.IsPostgreSQL():
|
|
||||||
db, err := sql.Open("postgres", fmt.Sprintf("postgres://%s:%s@%s/?sslmode=%s",
|
|
||||||
setting.Database.User, setting.Database.Passwd, setting.Database.Host, setting.Database.SSLMode))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer db.Close()
|
|
||||||
|
|
||||||
if _, err = db.Exec(fmt.Sprintf("DROP DATABASE IF EXISTS %s", setting.Database.Name)); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
if _, err = db.Exec(fmt.Sprintf("CREATE DATABASE %s", setting.Database.Name)); err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
db.Close()
|
|
||||||
|
|
||||||
// Check if we need to setup a specific schema
|
|
||||||
if len(setting.Database.Schema) != 0 {
|
|
||||||
db, err = sql.Open("postgres", fmt.Sprintf("postgres://%s:%s@%s/%s?sslmode=%s",
|
|
||||||
setting.Database.User, setting.Database.Passwd, setting.Database.Host, setting.Database.Name, setting.Database.SSLMode))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer db.Close()
|
|
||||||
|
|
||||||
schrows, err := db.Query(fmt.Sprintf("SELECT 1 FROM information_schema.schemata WHERE schema_name = '%s'", setting.Database.Schema))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
defer schrows.Close()
|
|
||||||
|
|
||||||
if !schrows.Next() {
|
|
||||||
// Create and setup a DB schema
|
|
||||||
_, err = db.Exec(fmt.Sprintf("CREATE SCHEMA %s", setting.Database.Schema))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Make the user's default search path the created schema; this will affect new connections
|
|
||||||
_, err = db.Exec(fmt.Sprintf(`ALTER USER "%s" SET search_path = %s`, setting.Database.User, setting.Database.Schema))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
|
@ -6,13 +6,14 @@ package base
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
migrations_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
"code.gitea.io/gitea/modules/timeutil"
|
"code.gitea.io/gitea/modules/timeutil"
|
||||||
|
|
||||||
"xorm.io/xorm/names"
|
"xorm.io/xorm/names"
|
||||||
)
|
)
|
||||||
|
|
||||||
func Test_DropTableColumns(t *testing.T) {
|
func Test_DropTableColumns(t *testing.T) {
|
||||||
x, deferable := PrepareTestEnv(t, 0)
|
x, deferable := migrations_tests.PrepareTestEnv(t, 0)
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
defer deferable()
|
defer deferable()
|
||||||
return
|
return
|
||||||
|
|
|
@ -5,8 +5,10 @@ package base
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
migrations_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
MainTest(m)
|
migrations_tests.MainTest(m)
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,30 +2,32 @@
|
||||||
// SPDX-License-Identifier: MIT
|
// SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
//nolint:forbidigo
|
//nolint:forbidigo
|
||||||
package base
|
package test
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"database/sql"
|
||||||
"fmt"
|
"fmt"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"runtime"
|
"runtime"
|
||||||
"testing"
|
"testing"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"code.gitea.io/gitea/models/db"
|
||||||
"code.gitea.io/gitea/models/unittest"
|
"code.gitea.io/gitea/models/unittest"
|
||||||
"code.gitea.io/gitea/modules/base"
|
"code.gitea.io/gitea/modules/base"
|
||||||
"code.gitea.io/gitea/modules/git"
|
"code.gitea.io/gitea/modules/git"
|
||||||
"code.gitea.io/gitea/modules/log"
|
"code.gitea.io/gitea/modules/log"
|
||||||
"code.gitea.io/gitea/modules/setting"
|
"code.gitea.io/gitea/modules/setting"
|
||||||
"code.gitea.io/gitea/modules/testlogger"
|
"code.gitea.io/gitea/modules/testlogger"
|
||||||
|
"code.gitea.io/gitea/modules/util"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"xorm.io/xorm"
|
"xorm.io/xorm"
|
||||||
)
|
)
|
||||||
|
|
||||||
// FIXME: this file shouldn't be in a normal package, it should only be compiled for tests
|
|
||||||
|
|
||||||
// PrepareTestEnv prepares the test environment and reset the database. The skip parameter should usually be 0.
|
// PrepareTestEnv prepares the test environment and reset the database. The skip parameter should usually be 0.
|
||||||
// Provide models to be sync'd with the database - in particular any models you expect fixtures to be loaded from.
|
// Provide models to be sync'd with the database - in particular any models you expect fixtures to be loaded from.
|
||||||
//
|
//
|
||||||
|
@ -171,3 +173,99 @@ func MainTest(m *testing.M) {
|
||||||
}
|
}
|
||||||
os.Exit(exitStatus)
|
os.Exit(exitStatus)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func newXORMEngine() (*xorm.Engine, error) {
|
||||||
|
if err := db.InitEngine(context.Background()); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
x := unittest.GetXORMEngine()
|
||||||
|
return x, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func deleteDB() error {
|
||||||
|
switch {
|
||||||
|
case setting.Database.Type.IsSQLite3():
|
||||||
|
if err := util.Remove(setting.Database.Path); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return os.MkdirAll(path.Dir(setting.Database.Path), os.ModePerm)
|
||||||
|
|
||||||
|
case setting.Database.Type.IsMySQL():
|
||||||
|
db, err := sql.Open("mysql", fmt.Sprintf("%s:%s@tcp(%s)/",
|
||||||
|
setting.Database.User, setting.Database.Passwd, setting.Database.Host))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer db.Close()
|
||||||
|
|
||||||
|
if _, err = db.Exec(fmt.Sprintf("DROP DATABASE IF EXISTS %s", setting.Database.Name)); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err = db.Exec(fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s", setting.Database.Name)); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
case setting.Database.Type.IsPostgreSQL():
|
||||||
|
db, err := sql.Open("postgres", fmt.Sprintf("postgres://%s:%s@%s/?sslmode=%s",
|
||||||
|
setting.Database.User, setting.Database.Passwd, setting.Database.Host, setting.Database.SSLMode))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer db.Close()
|
||||||
|
|
||||||
|
if _, err = db.Exec(fmt.Sprintf("DROP DATABASE IF EXISTS %s", setting.Database.Name)); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, err = db.Exec(fmt.Sprintf("CREATE DATABASE %s", setting.Database.Name)); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
db.Close()
|
||||||
|
|
||||||
|
// Check if we need to setup a specific schema
|
||||||
|
if len(setting.Database.Schema) != 0 {
|
||||||
|
db, err = sql.Open("postgres", fmt.Sprintf("postgres://%s:%s@%s/%s?sslmode=%s",
|
||||||
|
setting.Database.User, setting.Database.Passwd, setting.Database.Host, setting.Database.Name, setting.Database.SSLMode))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer db.Close()
|
||||||
|
|
||||||
|
schrows, err := db.Query(fmt.Sprintf("SELECT 1 FROM information_schema.schemata WHERE schema_name = '%s'", setting.Database.Schema))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
defer schrows.Close()
|
||||||
|
|
||||||
|
if !schrows.Next() {
|
||||||
|
// Create and setup a DB schema
|
||||||
|
_, err = db.Exec(fmt.Sprintf("CREATE SCHEMA %s", setting.Database.Schema))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Make the user's default search path the created schema; this will affect new connections
|
||||||
|
_, err = db.Exec(fmt.Sprintf(`ALTER USER "%s" SET search_path = %s`, setting.Database.User, setting.Database.Schema))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func removeAllWithRetry(dir string) error {
|
||||||
|
var err error
|
||||||
|
for i := 0; i < 20; i++ {
|
||||||
|
err = os.RemoveAll(dir)
|
||||||
|
if err == nil {
|
||||||
|
break
|
||||||
|
}
|
||||||
|
time.Sleep(100 * time.Millisecond)
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
|
@ -6,9 +6,9 @@ package v1_14 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
base.MainTest(m)
|
migration_tests.MainTest(m)
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ package v1_14 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
@ -47,7 +47,7 @@ func Test_RemoveInvalidLabels(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// load and prepare the test database
|
// load and prepare the test database
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(Comment), new(Issue), new(Repository), new(IssueLabel), new(Label))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(Comment), new(Issue), new(Repository), new(IssueLabel), new(Label))
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
defer deferable()
|
defer deferable()
|
||||||
return
|
return
|
||||||
|
|
|
@ -6,7 +6,7 @@ package v1_14 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
"code.gitea.io/gitea/modules/timeutil"
|
"code.gitea.io/gitea/modules/timeutil"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
@ -34,7 +34,7 @@ func Test_DeleteOrphanedIssueLabels(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(IssueLabel), new(Label))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(IssueLabel), new(Label))
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
defer deferable()
|
defer deferable()
|
||||||
return
|
return
|
||||||
|
|
|
@ -6,9 +6,9 @@ package v1_15 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
base.MainTest(m)
|
migration_tests.MainTest(m)
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
@ -20,7 +20,7 @@ func Test_AddPrimaryEmail2EmailAddress(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(User))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(User))
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
defer deferable()
|
defer deferable()
|
||||||
return
|
return
|
||||||
|
|
|
@ -6,7 +6,7 @@ package v1_15 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
@ -20,7 +20,7 @@ func Test_AddIssueResourceIndexTable(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(Issue))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(Issue))
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
defer deferable()
|
defer deferable()
|
||||||
return
|
return
|
||||||
|
|
|
@ -6,9 +6,9 @@ package v1_16 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
base.MainTest(m)
|
migration_tests.MainTest(m)
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ package v1_16 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
"code.gitea.io/gitea/modules/json"
|
"code.gitea.io/gitea/modules/json"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
@ -27,7 +27,7 @@ func (ls *LoginSourceOriginalV189) TableName() string {
|
||||||
|
|
||||||
func Test_UnwrapLDAPSourceCfg(t *testing.T) {
|
func Test_UnwrapLDAPSourceCfg(t *testing.T) {
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(LoginSourceOriginalV189))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(LoginSourceOriginalV189))
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
defer deferable()
|
defer deferable()
|
||||||
return
|
return
|
||||||
|
|
|
@ -6,7 +6,7 @@ package v1_16 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
@ -31,7 +31,7 @@ func Test_AddRepoIDForAttachment(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
x, deferrable := base.PrepareTestEnv(t, 0, new(Attachment), new(Issue), new(Release))
|
x, deferrable := migration_tests.PrepareTestEnv(t, 0, new(Attachment), new(Issue), new(Release))
|
||||||
defer deferrable()
|
defer deferrable()
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
return
|
return
|
||||||
|
|
|
@ -6,7 +6,7 @@ package v1_16 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
@ -21,7 +21,7 @@ func Test_AddTableCommitStatusIndex(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(CommitStatus))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(CommitStatus))
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
defer deferable()
|
defer deferable()
|
||||||
return
|
return
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
"code.gitea.io/gitea/modules/timeutil"
|
"code.gitea.io/gitea/modules/timeutil"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
@ -58,7 +58,7 @@ func Test_RemigrateU2FCredentials(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(WebauthnCredential), new(U2fRegistration), new(ExpectedWebauthnCredential))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(WebauthnCredential), new(U2fRegistration), new(ExpectedWebauthnCredential))
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
defer deferable()
|
defer deferable()
|
||||||
return
|
return
|
||||||
|
|
|
@ -6,9 +6,9 @@ package v1_17 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
base.MainTest(m)
|
migration_tests.MainTest(m)
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"encoding/base32"
|
"encoding/base32"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
@ -38,7 +38,7 @@ func Test_StoreWebauthnCredentialIDAsBytes(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(WebauthnCredential), new(ExpectedWebauthnCredential))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(WebauthnCredential), new(ExpectedWebauthnCredential))
|
||||||
defer deferable()
|
defer deferable()
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
return
|
return
|
||||||
|
|
|
@ -6,9 +6,9 @@ package v1_18 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
base.MainTest(m)
|
migration_tests.MainTest(m)
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/issues"
|
"code.gitea.io/gitea/models/issues"
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
@ -16,7 +16,7 @@ func Test_UpdateOpenMilestoneCounts(t *testing.T) {
|
||||||
type ExpectedMilestone issues.Milestone
|
type ExpectedMilestone issues.Milestone
|
||||||
|
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(issues.Milestone), new(ExpectedMilestone), new(issues.Issue))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(issues.Milestone), new(ExpectedMilestone), new(issues.Issue))
|
||||||
defer deferable()
|
defer deferable()
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
return
|
return
|
||||||
|
|
|
@ -6,7 +6,7 @@ package v1_18 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
@ -18,7 +18,7 @@ func Test_AddConfidentialClientColumnToOAuth2ApplicationTable(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(oauth2Application))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(oauth2Application))
|
||||||
defer deferable()
|
defer deferable()
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
return
|
return
|
||||||
|
|
|
@ -6,9 +6,9 @@ package v1_19 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
base.MainTest(m)
|
migration_tests.MainTest(m)
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ package v1_19 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
"code.gitea.io/gitea/modules/json"
|
"code.gitea.io/gitea/modules/json"
|
||||||
"code.gitea.io/gitea/modules/secret"
|
"code.gitea.io/gitea/modules/secret"
|
||||||
"code.gitea.io/gitea/modules/setting"
|
"code.gitea.io/gitea/modules/setting"
|
||||||
|
@ -39,7 +39,7 @@ func Test_AddHeaderAuthorizationEncryptedColWebhook(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(Webhook), new(ExpectedWebhook), new(HookTask))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(Webhook), new(ExpectedWebhook), new(HookTask))
|
||||||
defer deferable()
|
defer deferable()
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
return
|
return
|
||||||
|
|
|
@ -6,9 +6,9 @@ package v1_20 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
base.MainTest(m)
|
migration_tests.MainTest(m)
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
@ -66,7 +66,7 @@ func Test_ConvertScopedAccessTokens(t *testing.T) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(AccessToken))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(AccessToken))
|
||||||
defer deferable()
|
defer deferable()
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
t.Skip()
|
t.Skip()
|
||||||
|
|
|
@ -6,9 +6,9 @@ package v1_21 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
base.MainTest(m)
|
migration_tests.MainTest(m)
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,9 +6,9 @@ package v1_22 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
base.MainTest(m)
|
migration_tests.MainTest(m)
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,7 +6,7 @@ package v1_22 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
)
|
)
|
||||||
|
@ -21,7 +21,7 @@ func Test_AddCombinedIndexToIssueUser(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(IssueUser))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(IssueUser))
|
||||||
defer deferable()
|
defer deferable()
|
||||||
|
|
||||||
assert.NoError(t, AddCombinedIndexToIssueUser(x))
|
assert.NoError(t, AddCombinedIndexToIssueUser(x))
|
||||||
|
|
|
@ -6,7 +6,7 @@ package v1_22 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"xorm.io/xorm"
|
"xorm.io/xorm"
|
||||||
|
@ -64,7 +64,7 @@ func PrepareOldRepository(t *testing.T) (*xorm.Engine, func()) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
return base.PrepareTestEnv(t, 0,
|
return migration_tests.PrepareTestEnv(t, 0,
|
||||||
new(Repository),
|
new(Repository),
|
||||||
new(CommitStatus),
|
new(CommitStatus),
|
||||||
new(RepoArchiver),
|
new(RepoArchiver),
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"strconv"
|
"strconv"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
"code.gitea.io/gitea/modules/timeutil"
|
"code.gitea.io/gitea/modules/timeutil"
|
||||||
webhook_module "code.gitea.io/gitea/modules/webhook"
|
webhook_module "code.gitea.io/gitea/modules/webhook"
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ func Test_AddPayloadVersionToHookTaskTable(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(HookTask), new(HookTaskMigrated))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(HookTask), new(HookTaskMigrated))
|
||||||
defer deferable()
|
defer deferable()
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
return
|
return
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/db"
|
"code.gitea.io/gitea/models/db"
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
"code.gitea.io/gitea/models/project"
|
"code.gitea.io/gitea/models/project"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
@ -15,7 +15,7 @@ import (
|
||||||
|
|
||||||
func Test_CheckProjectColumnsConsistency(t *testing.T) {
|
func Test_CheckProjectColumnsConsistency(t *testing.T) {
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(project.Project), new(project.Column))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(project.Project), new(project.Column))
|
||||||
defer deferable()
|
defer deferable()
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
return
|
return
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
"slices"
|
"slices"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"xorm.io/xorm/schemas"
|
"xorm.io/xorm/schemas"
|
||||||
|
@ -21,7 +21,7 @@ func Test_AddUniqueIndexForProjectIssue(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prepare and load the testing database
|
// Prepare and load the testing database
|
||||||
x, deferable := base.PrepareTestEnv(t, 0, new(ProjectIssue))
|
x, deferable := migration_tests.PrepareTestEnv(t, 0, new(ProjectIssue))
|
||||||
defer deferable()
|
defer deferable()
|
||||||
if x == nil || t.Failed() {
|
if x == nil || t.Failed() {
|
||||||
return
|
return
|
||||||
|
|
|
@ -6,9 +6,9 @@ package v1_23 //nolint
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/migrations/base"
|
migration_tests "code.gitea.io/gitea/models/migrations/test"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestMain(m *testing.M) {
|
func TestMain(m *testing.M) {
|
||||||
base.MainTest(m)
|
migration_tests.MainTest(m)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue