mirror of
https://github.com/prometheus/prometheus.git
synced 2024-11-09 23:24:05 -08:00
Removed compilation step inside main_test (#6658)
Inspired by https://github.com/prometheus/prometheus/pull/6347 and https://github.com/prometheus/prometheus/pull/6347#issuecomment-570151979 Signed-off-by: Julien Pivotto <roidelapluie@inuits.eu>
This commit is contained in:
parent
29086533fd
commit
1a58d2657d
|
@ -15,7 +15,6 @@ package main
|
|||
|
||||
import (
|
||||
"context"
|
||||
"flag"
|
||||
"fmt"
|
||||
"net/http"
|
||||
"os"
|
||||
|
@ -31,35 +30,23 @@ import (
|
|||
"github.com/prometheus/prometheus/util/testutil"
|
||||
)
|
||||
|
||||
var promPath string
|
||||
var promPath = os.Args[0]
|
||||
var promConfig = filepath.Join("..", "..", "documentation", "examples", "prometheus.yml")
|
||||
var promData = filepath.Join(os.TempDir(), "data")
|
||||
|
||||
func TestMain(m *testing.M) {
|
||||
flag.Parse()
|
||||
if testing.Short() {
|
||||
os.Exit(m.Run())
|
||||
for i, arg := range os.Args {
|
||||
if arg == "-test.main" {
|
||||
os.Args = append(os.Args[:i], os.Args[i+1:]...)
|
||||
main()
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
// On linux with a global proxy the tests will fail as the go client(http,grpc) tries to connect through the proxy.
|
||||
os.Setenv("no_proxy", "localhost,127.0.0.1,0.0.0.0,:")
|
||||
|
||||
var err error
|
||||
promPath, err = os.Getwd()
|
||||
if err != nil {
|
||||
fmt.Printf("can't get current dir :%s \n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
promPath = filepath.Join(promPath, "prometheus")
|
||||
|
||||
build := exec.Command("go", "build", "-o", promPath)
|
||||
output, err := build.CombinedOutput()
|
||||
if err != nil {
|
||||
fmt.Printf("compilation error :%s \n", output)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
exitCode := m.Run()
|
||||
os.Remove(promPath)
|
||||
os.RemoveAll(promData)
|
||||
os.Exit(exitCode)
|
||||
}
|
||||
|
@ -70,7 +57,7 @@ func TestStartupInterrupt(t *testing.T) {
|
|||
t.Skip("skipping test in short mode.")
|
||||
}
|
||||
|
||||
prom := exec.Command(promPath, "--config.file="+promConfig, "--storage.tsdb.path="+promData)
|
||||
prom := exec.Command(promPath, "-test.main", "--config.file="+promConfig, "--storage.tsdb.path="+promData)
|
||||
err := prom.Start()
|
||||
if err != nil {
|
||||
t.Errorf("execution error: %v", err)
|
||||
|
@ -170,7 +157,7 @@ func TestFailedStartupExitCode(t *testing.T) {
|
|||
fakeInputFile := "fake-input-file"
|
||||
expectedExitStatus := 1
|
||||
|
||||
prom := exec.Command(promPath, "--config.file="+fakeInputFile)
|
||||
prom := exec.Command(promPath, "-test.main", "--config.file="+fakeInputFile)
|
||||
err := prom.Run()
|
||||
testutil.NotOk(t, err)
|
||||
|
||||
|
@ -258,7 +245,7 @@ func TestWALSegmentSizeBounds(t *testing.T) {
|
|||
}
|
||||
|
||||
for size, expectedExitStatus := range map[string]int{"9MB": 1, "257MB": 1, "10": 2, "1GB": 1, "12MB": 0} {
|
||||
prom := exec.Command(promPath, "--storage.tsdb.wal-segment-size="+size, "--config.file="+promConfig)
|
||||
prom := exec.Command(promPath, "-test.main", "--storage.tsdb.wal-segment-size="+size, "--config.file="+promConfig)
|
||||
err := prom.Start()
|
||||
testutil.Ok(t, err)
|
||||
|
||||
|
|
Loading…
Reference in a new issue