1
1
// Copyright 2021 The Gitea Authors. All rights reserved.
2
2
// SPDX-License-Identifier: MIT
3
3
4
- //nolint:forbidigo
5
4
package unittest
6
5
7
6
import (
8
7
"fmt"
9
- "os"
10
8
"time"
11
9
12
10
"code.gitea.io/gitea/models/db"
@@ -37,7 +35,7 @@ func InitFixtures(opts FixturesOptions, engine ...*xorm.Engine) (err error) {
37
35
} else {
38
36
fixtureOptionFiles = testfixtures .Files (opts .Files ... )
39
37
}
40
- dialect := "unknown"
38
+ var dialect string
41
39
switch e .Dialect ().URI ().DBType {
42
40
case schemas .POSTGRES :
43
41
dialect = "postgres"
@@ -48,8 +46,7 @@ func InitFixtures(opts FixturesOptions, engine ...*xorm.Engine) (err error) {
48
46
case schemas .SQLITE :
49
47
dialect = "sqlite3"
50
48
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 )
53
50
}
54
51
loaderOptions := []func (loader * testfixtures.Loader ) error {
55
52
testfixtures .Database (e .DB ().DB ),
@@ -69,9 +66,7 @@ func InitFixtures(opts FixturesOptions, engine ...*xorm.Engine) (err error) {
69
66
70
67
// register the dummy hash algorithm function used in the test fixtures
71
68
_ = hash .Register ("dummy" , hash .NewDummyHasher )
72
-
73
69
setting .PasswordHashAlgo , _ = hash .SetDefaultPasswordHashAlgorithm ("dummy" )
74
-
75
70
return err
76
71
}
77
72
@@ -87,7 +82,7 @@ func LoadFixtures(engine ...*xorm.Engine) error {
87
82
time .Sleep (200 * time .Millisecond )
88
83
}
89
84
if err != nil {
90
- fmt .Printf ("LoadFixtures failed after retries: %v \n " , err )
85
+ return fmt .Errorf ("LoadFixtures failed after retries: %w " , err )
91
86
}
92
87
// Now if we're running postgres we need to tell it to update the sequences
93
88
if e .Dialect ().URI ().DBType == schemas .POSTGRES {
@@ -108,21 +103,18 @@ func LoadFixtures(engine ...*xorm.Engine) error {
108
103
AND T.relname = PGT.tablename
109
104
ORDER BY S.relname;` )
110
105
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 )
113
107
}
114
108
for _ , r := range results {
115
109
for _ , value := range r {
116
110
_ , err = e .Exec (value )
117
111
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 )
120
113
}
121
114
}
122
115
}
123
116
}
124
117
_ = hash .Register ("dummy" , hash .NewDummyHasher )
125
118
setting .PasswordHashAlgo , _ = hash .SetDefaultPasswordHashAlgorithm ("dummy" )
126
-
127
- return err
119
+ return nil
128
120
}
0 commit comments