[FEAT] Mark database errors in tests as failure

- If the database returns a error in integration tests, it should be
marked as a failure of the test.
- Ref: https://codeberg.org/forgejo/forgejo/issues/2962 (this should
help with logging the SQL that is resulting in the error).
This commit is contained in:
Gusted 2024-04-02 13:34:17 +02:00
parent 68e900822b
commit 2dabd202ce
No known key found for this signature in database
GPG key ID: FD821B732837125F
2 changed files with 10 additions and 1 deletions

View file

@ -155,8 +155,14 @@ func InitEngine(ctx context.Context) error {
Logger: log.GetLogger("xorm"),
})
}
errorLogger := log.GetLogger("xorm")
if setting.IsInTesting {
errorLogger = log.GetLogger(log.DEFAULT)
}
xormEngine.AddHook(&ErrorQueryHook{
Logger: log.GetLogger("xorm"),
Logger: errorLogger,
})
SetDefaultEngine(ctx, xormEngine)

View file

@ -393,6 +393,9 @@ var ignoredErrorMessage = []string{
// TestRenameInvalidUsername
`TrString() [E] Missing translation "form.Name"`,
// TestDatabaseCollation
`[E] [Error SQL Query] INSERT INTO test_collation_tbl (txt) VALUES ('main') []`,
}
func (w *testLoggerWriterCloser) recordError(msg string) {