11// Copyright 2021 The Gitea Authors. All rights reserved.
22// SPDX-License-Identifier: MIT
33
4- //nolint:forbidigo
54package unittest
65
76import (
87 "fmt"
9- "os"
108 "time"
119
1210 "code.gitea.io/gitea/models/db"
@@ -37,7 +35,7 @@ func InitFixtures(opts FixturesOptions, engine ...*xorm.Engine) (err error) {
3735 } else {
3836 fixtureOptionFiles = testfixtures .Files (opts .Files ... )
3937 }
40- dialect := "unknown"
38+ var dialect string
4139 switch e .Dialect ().URI ().DBType {
4240 case schemas .POSTGRES :
4341 dialect = "postgres"
@@ -48,8 +46,7 @@ func InitFixtures(opts FixturesOptions, engine ...*xorm.Engine) (err error) {
4846 case schemas .SQLITE :
4947 dialect = "sqlite3"
5048 default :
51- fmt .Println ("Unsupported RDBMS for integration tests" )
52- os .Exit (1 )
49+ return fmt .Errorf ("unsupported RDBMS for integration tests: %q" , e .Dialect ().URI ().DBType )
5350 }
5451 loaderOptions := []func (loader * testfixtures.Loader ) error {
5552 testfixtures .Database (e .DB ().DB ),
@@ -69,9 +66,7 @@ func InitFixtures(opts FixturesOptions, engine ...*xorm.Engine) (err error) {
6966
7067 // register the dummy hash algorithm function used in the test fixtures
7168 _ = hash .Register ("dummy" , hash .NewDummyHasher )
72-
7369 setting .PasswordHashAlgo , _ = hash .SetDefaultPasswordHashAlgorithm ("dummy" )
74-
7570 return err
7671}
7772
@@ -87,7 +82,7 @@ func LoadFixtures(engine ...*xorm.Engine) error {
8782 time .Sleep (200 * time .Millisecond )
8883 }
8984 if err != nil {
90- fmt .Printf ("LoadFixtures failed after retries: %v \n " , err )
85+ return fmt .Errorf ("LoadFixtures failed after retries: %w " , err )
9186 }
9287 // Now if we're running postgres we need to tell it to update the sequences
9388 if e .Dialect ().URI ().DBType == schemas .POSTGRES {
@@ -108,21 +103,18 @@ func LoadFixtures(engine ...*xorm.Engine) error {
108103 AND T.relname = PGT.tablename
109104 ORDER BY S.relname;` )
110105 if err != nil {
111- fmt .Printf ("Failed to generate sequence update: %v\n " , err )
112- return err
106+ return fmt .Errorf ("failed to generate sequence update: %w" , err )
113107 }
114108 for _ , r := range results {
115109 for _ , value := range r {
116110 _ , err = e .Exec (value )
117111 if err != nil {
118- fmt .Printf ("Failed to update sequence: %s Error: %v\n " , value , err )
119- return err
112+ return fmt .Errorf ("failed to update sequence: %s, error: %w" , value , err )
120113 }
121114 }
122115 }
123116 }
124117 _ = hash .Register ("dummy" , hash .NewDummyHasher )
125118 setting .PasswordHashAlgo , _ = hash .SetDefaultPasswordHashAlgorithm ("dummy" )
126-
127- return err
119+ return nil
128120}
0 commit comments