github.com/decred/dcrlnd@v0.7.6/kvdb/test_utils.go (about)

     1  package kvdb
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  	"testing"
     7  )
     8  
     9  // RunTests is a helper function to run the tests in a package with
    10  // initialization and tear-down of a test kvdb backend.
    11  func RunTests(m *testing.M) {
    12  	var close func() error
    13  	if PostgresBackend {
    14  		var err error
    15  		close, err = StartEmbeddedPostgres()
    16  		if err != nil {
    17  			fmt.Printf("Error: %v\n", err)
    18  			os.Exit(1)
    19  		}
    20  	}
    21  
    22  	// os.Exit() does not respect defer statements
    23  	code := m.Run()
    24  
    25  	if close != nil {
    26  		err := close()
    27  		if err != nil {
    28  			fmt.Printf("Error: %v\n", err)
    29  		}
    30  	}
    31  
    32  	os.Exit(code)
    33  
    34  }