[DB] run all Forgejo migrations in integration tests
The tests at tests/integration/migration-test/migration_test.go will not run any Forgejo migration when using the gitea-*.sql.gz files because they do not contain a ForgejoVersion row which is interpreted as a new Forgejo installation for which there is no need for migration. Create a situation by which the ForgejoVersion table exists and has a version of 0 in tests/integration/migration-test/forgejo-v1.19.0.*.sql.gz thus ensuring all Forgejo migrations are run. The forgejo*.sql.gz files do not have any Gitea related records, which will be interpreted by the Gitea migrations as a new installation that does not need any migration. As a consequence the migration tests run when using forgejo-v1.19.0.*.sql.gz are exclusively about Forgejo migrations. (cherry picked from commitec8003859c
) (cherry picked from commit697570ff39
) (cherry picked from commitf041aec172
) (cherry picked from commit60463e3bab
) (cherry picked from commitb2fc2a7c13
) (cherry picked from commitfb2759b6af
) (cherry picked from commit37cfc3b227
) (cherry picked from commit832607500a
) (cherry picked from commit143d4007b1
) (cherry picked from commita17e803fbf
) (cherry picked from commit72ffd49bc3
) (cherry picked from commit9b92a5fd72
) (cherry picked from commit0a334d0a9b
) (cherry picked from commit3add683c94
) (cherry picked from commit8ed3f3f86b
) (cherry picked from commit97dc65852b
)
This commit is contained in:
parent
9ee22153c4
commit
e0503cbfea
4 changed files with 5 additions and 2 deletions
BIN
tests/integration/migration-test/forgejo-v1.19.0.mysql.sql.gz
Normal file
BIN
tests/integration/migration-test/forgejo-v1.19.0.mysql.sql.gz
Normal file
Binary file not shown.
BIN
tests/integration/migration-test/forgejo-v1.19.0.postgres.sql.gz
Normal file
BIN
tests/integration/migration-test/forgejo-v1.19.0.postgres.sql.gz
Normal file
Binary file not shown.
BIN
tests/integration/migration-test/forgejo-v1.19.0.sqlite3.sql.gz
Normal file
BIN
tests/integration/migration-test/forgejo-v1.19.0.sqlite3.sql.gz
Normal file
Binary file not shown.
|
@ -98,7 +98,7 @@ func availableVersions() ([]string, error) {
|
|||
return nil, err
|
||||
}
|
||||
defer migrationsDir.Close()
|
||||
versionRE, err := regexp.Compile("gitea-v(?P<version>.+)\\." + regexp.QuoteMeta(setting.Database.Type.String()) + "\\.sql.gz")
|
||||
versionRE, err := regexp.Compile(".*-v(?P<version>.+)\\." + regexp.QuoteMeta(setting.Database.Type.String()) + "\\.sql.gz")
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -121,9 +121,12 @@ func availableVersions() ([]string, error) {
|
|||
func readSQLFromFile(version string) (string, error) {
|
||||
filename := fmt.Sprintf("tests/integration/migration-test/gitea-v%s.%s.sql.gz", version, setting.Database.Type)
|
||||
|
||||
if _, err := os.Stat(filename); os.IsNotExist(err) {
|
||||
filename = fmt.Sprintf("tests/integration/migration-test/forgejo-v%s.%s.sql.gz", version, setting.Database.Type)
|
||||
if _, err := os.Stat(filename); os.IsNotExist(err) {
|
||||
return "", nil
|
||||
}
|
||||
}
|
||||
|
||||
file, err := os.Open(filename)
|
||||
if err != nil {
|
||||
|
|
Loading…
Reference in a new issue