Browse Source

Get rid of init() in config.go

DarthSim 6 years ago
parent
commit
3ae859162f
3 changed files with 21 additions and 9 deletions
  1. 1 9
      config.go
  2. 12 0
      main.go
  3. 8 0
      main_test.go

+ 1 - 9
config.go

@@ -231,9 +231,7 @@ var conf = config{
 	BufferPoolCalibrationThreshold: 1024,
 }
 
-func init() {
-	initSyslog()
-
+func configure() {
 	keyPath := flag.String("keypath", "", "path of the file with hex-encoded key")
 	saltPath := flag.String("saltpath", "", "path of the file with hex-encoded salt")
 	presetsPath := flag.String("presets", "", "path of the file with presets")
@@ -463,10 +461,4 @@ func init() {
 	if conf.BufferPoolCalibrationThreshold < 64 {
 		logFatal("Buffer pool calibration threshold should be greater than or equal to 64")
 	}
-
-	initNewrelic()
-	initPrometheus()
-	initDownloading()
-	initErrorsReporting()
-	initVips()
 }

+ 12 - 0
main.go

@@ -16,7 +16,19 @@ const version = "2.2.13"
 
 type ctxKey string
 
+func initialize() {
+	initSyslog()
+	configure()
+	initNewrelic()
+	initPrometheus()
+	initDownloading()
+	initErrorsReporting()
+	initVips()
+}
+
 func main() {
+	initialize()
+
 	go func() {
 		var logMemStats = len(os.Getenv("IMGPROXY_LOG_MEM_STATS")) > 0
 

+ 8 - 0
main_test.go

@@ -1,6 +1,9 @@
 package main
 
 import (
+	"os"
+	"testing"
+
 	"github.com/stretchr/testify/suite"
 )
 
@@ -10,6 +13,11 @@ type MainTestSuite struct {
 	oldConf config
 }
 
+func TestMain(m *testing.M) {
+	initialize()
+	os.Exit(m.Run())
+}
+
 func (s *MainTestSuite) SetupTest() {
 	s.oldConf = conf
 }