|
|
@ -9,6 +9,7 @@ import ( |
|
|
|
"os" |
|
|
|
"os" |
|
|
|
"path/filepath" |
|
|
|
"path/filepath" |
|
|
|
"testing" |
|
|
|
"testing" |
|
|
|
|
|
|
|
"time" |
|
|
|
|
|
|
|
|
|
|
|
"code.gitea.io/gitea/modules/setting" |
|
|
|
"code.gitea.io/gitea/modules/setting" |
|
|
|
|
|
|
|
|
|
|
@ -72,6 +73,18 @@ func createTestEngine(fixturesDir string) error { |
|
|
|
return InitFixtures(&testfixtures.SQLite{}, fixturesDir) |
|
|
|
return InitFixtures(&testfixtures.SQLite{}, fixturesDir) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// PrepareTestDatabase load test fixtures into test database
|
|
|
|
// PrepareTestDatabase load test fixtures into test database
|
|
|
|
func PrepareTestDatabase() error { |
|
|
|
func PrepareTestDatabase() error { |
|
|
|
return LoadFixtures() |
|
|
|
return LoadFixtures() |
|
|
@ -81,7 +94,7 @@ func PrepareTestDatabase() error { |
|
|
|
// by tests that use the above MainTest(..) function.
|
|
|
|
// by tests that use the above MainTest(..) function.
|
|
|
|
func PrepareTestEnv(t testing.TB) { |
|
|
|
func PrepareTestEnv(t testing.TB) { |
|
|
|
assert.NoError(t, PrepareTestDatabase()) |
|
|
|
assert.NoError(t, PrepareTestDatabase()) |
|
|
|
assert.NoError(t, os.RemoveAll(setting.RepoRootPath)) |
|
|
|
assert.NoError(t, removeAllWithRetry(setting.RepoRootPath)) |
|
|
|
metaPath := filepath.Join(giteaRoot, "integrations", "gitea-repositories-meta") |
|
|
|
metaPath := filepath.Join(giteaRoot, "integrations", "gitea-repositories-meta") |
|
|
|
assert.NoError(t, com.CopyDir(metaPath, setting.RepoRootPath)) |
|
|
|
assert.NoError(t, com.CopyDir(metaPath, setting.RepoRootPath)) |
|
|
|
} |
|
|
|
} |
|
|
|