| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | // Copyright 2020 The Gogs Authors. All rights reserved.// Use of this source code is governed by a MIT-style// license that can be found in the LICENSE file.package dbimport (	"flag"	"fmt"	"os"	"testing"	"gorm.io/gorm"	"gorm.io/gorm/logger"	_ "modernc.org/sqlite"	log "unknwon.dev/clog/v2"	"gogs.io/gogs/internal/testutil")func TestMain(m *testing.M) {	flag.Parse()	level := logger.Silent	if !testing.Verbose() {		// Remove the primary logger and register a noop logger.		log.Remove(log.DefaultConsoleName)		err := log.New("noop", testutil.InitNoopLogger)		if err != nil {			fmt.Println(err)			os.Exit(1)		}	} else {		level = logger.Info	}	// NOTE: AutoMigrate does not respect logger passed in gorm.Config.	logger.Default = logger.Default.LogMode(level)	os.Exit(m.Run())}// clearTables removes all rows from given tables.func clearTables(t *testing.T, db *gorm.DB, tables ...interface{}) error {	if t.Failed() {		return nil	}	for _, t := range tables {		err := db.Where("TRUE").Delete(t).Error		if err != nil {			return err		}	}	return nil}
 |