summaryrefslogtreecommitdiffstats
path: root/modules/doctor
diff options
context:
space:
mode:
authorLunny Xiao <xiaolunwen@gmail.com>2023-02-20 00:12:01 +0800
committerGitHub <noreply@github.com>2023-02-20 00:12:01 +0800
commitc53ad052d8bd040ecd269d9757ce9885396a04af (patch)
tree7142da12dc9511445c76d3bf5616f1c220441a84 /modules/doctor
parent2b02343e218755c36c6a45da8a53c06dfff843a1 (diff)
downloadgitea-c53ad052d8bd040ecd269d9757ce9885396a04af.tar.gz
gitea-c53ad052d8bd040ecd269d9757ce9885396a04af.zip
Refactor the setting to make unit test easier (#22405)
Some bugs caused by less unit tests in fundamental packages. This PR refactor `setting` package so that create a unit test will be easier than before. - All `LoadFromXXX` files has been splited as two functions, one is `InitProviderFromXXX` and `LoadCommonSettings`. The first functions will only include the code to create or new a ini file. The second function will load common settings. - It also renames all functions in setting from `newXXXService` to `loadXXXSetting` or `loadXXXFrom` to make the function name less confusing. - Move `XORMLog` to `SQLLog` because it's a better name for that. Maybe we should finally move these `loadXXXSetting` into the `XXXInit` function? Any idea? --------- Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: delvh <dev.lh@web.de>
Diffstat (limited to 'modules/doctor')
-rw-r--r--modules/doctor/doctor.go10
-rw-r--r--modules/doctor/paths.go5
2 files changed, 8 insertions, 7 deletions
diff --git a/modules/doctor/doctor.go b/modules/doctor/doctor.go
index 2025edc58d..b23805bc4c 100644
--- a/modules/doctor/doctor.go
+++ b/modules/doctor/doctor.go
@@ -44,10 +44,10 @@ func (w *wrappedLevelLogger) Log(skip int, level log.Level, format string, v ...
}
func initDBDisableConsole(ctx context.Context, disableConsole bool) error {
- setting.LoadFromExisting()
- setting.InitDBConfig()
-
- setting.NewXORMLogService(disableConsole)
+ setting.InitProviderFromExistingFile()
+ setting.LoadCommonSettings()
+ setting.LoadDBSetting()
+ setting.InitSQLLog(disableConsole)
if err := db.InitEngine(ctx); err != nil {
return fmt.Errorf("db.InitEngine: %w", err)
}
@@ -71,7 +71,7 @@ func RunChecks(ctx context.Context, logger log.Logger, autofix bool, checks []*C
for i, check := range checks {
if !dbIsInit && !check.SkipDatabaseInitialization {
// Only open database after the most basic configuration check
- setting.EnableXORMLog = false
+ setting.Log.EnableXORMLog = false
if err := initDBDisableConsole(ctx, true); err != nil {
logger.Error("Error whilst initializing the database: %v", err)
logger.Error("Check if you are using the right config file. You can use a --config directive to specify one.")
diff --git a/modules/doctor/paths.go b/modules/doctor/paths.go
index ad50078d3e..7b1c6ce9ad 100644
--- a/modules/doctor/paths.go
+++ b/modules/doctor/paths.go
@@ -67,7 +67,8 @@ func checkConfigurationFiles(ctx context.Context, logger log.Logger, autofix boo
return err
}
- setting.LoadFromExisting()
+ setting.InitProviderFromExistingFile()
+ setting.LoadCommonSettings()
configurationFiles := []configurationFile{
{"Configuration File Path", setting.CustomConf, false, true, false},
@@ -75,7 +76,7 @@ func checkConfigurationFiles(ctx context.Context, logger log.Logger, autofix boo
{"Data Root Path", setting.AppDataPath, true, true, true},
{"Custom File Root Path", setting.CustomPath, true, false, false},
{"Work directory", setting.AppWorkPath, true, true, false},
- {"Log Root Path", setting.LogRootPath, true, true, true},
+ {"Log Root Path", setting.Log.RootPath, true, true, true},
}
if options.IsDynamic() {