From 5bced2979b89f17a91cb7008e6754ffe134b6ba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Mierzwa?= Date: Sun, 26 Feb 2023 19:42:57 +0000 Subject: [PATCH] fix(tests): debug failing tests --- cmd/karma/main.go | 4 +-- cmd/karma/script_test.go | 5 ++++ .../tests/testscript/058_log_format_json.txt | 2 +- .../tests/testscript/069_simple_config.txt | 2 +- .../testscript/073_pid_file_remove_error.txt | 2 +- cmd/karma/tests/testscript/083_metrics.txt | 2 +- cmd/karma/tests/testscript/085_debug.txt | 2 +- .../testscript/088_listen_tls_key_invalid.txt | 2 +- .../089_listen_tls_cert_invalid.txt | 2 +- .../testscript/090_listen_tls_key_missing.txt | 2 +- .../091_listen_tls_cert_missing.txt | 2 +- .../testscript/094_shutdown_slow_client.txt | 2 +- .../testscript/103_alert_history_tls.txt | 2 +- .../108_alert_history_proxy_url.txt | 2 +- .../109_alert_history_proxy_url_invalid.txt | 2 +- .../testscript/111_alert_history_tls_bad.txt | 2 +- ...lert_history.txt => 112_alert_history.txt} | 28 +++++++++---------- go.mod | 2 +- tools/benchstat/go.mod | 2 +- tools/gofumpt/go.mod | 2 +- tools/goimports/go.mod | 2 +- tools/golangci-lint/go.mod | 2 +- 22 files changed, 40 insertions(+), 35 deletions(-) rename cmd/karma/tests/testscript/{110_alert_history.txt => 112_alert_history.txt} (67%) diff --git a/cmd/karma/main.go b/cmd/karma/main.go index 18f3f8f57..86b91633d 100644 --- a/cmd/karma/main.go +++ b/cmd/karma/main.go @@ -520,8 +520,8 @@ func serve(errorHandling pflag.ErrorHandling) error { } signal.Notify(quit, os.Interrupt, syscall.SIGINT, syscall.SIGTERM) - <-quit - log.Info().Msg("Shutting down HTTP server") + s := <-quit + log.Info().Stringer("signal", s).Msg("Shutting down HTTP server") historyPoller.stop() diff --git a/cmd/karma/script_test.go b/cmd/karma/script_test.go index 91f239aed..41a6af4e4 100644 --- a/cmd/karma/script_test.go +++ b/cmd/karma/script_test.go @@ -83,6 +83,8 @@ func httpServer(ts *testscript.TestScript, neg bool, args []string) { } cmd := args[0] + ts.Logf("test-script http command: %s", strings.Join(args, " ")) + switch cmd { // http response name /200 200 OK case "response": @@ -166,6 +168,7 @@ func httpServer(ts *testscript.TestScript, neg bool, args []string) { sCtx, sCancel := context.WithTimeout(context.Background(), time.Minute*5) ts.Defer(func() { + ts.Logf("running deferred http server shutdown") defer sCancel() sChan <- struct{}{} ts.Logf("http server %s shutting down", name) @@ -257,6 +260,8 @@ func tlsCert(ts *testscript.TestScript, neg bool, args []string) { dirname := args[0] name := args[1] + ts.Logf("test-script cert command: %s", strings.Join(args, " ")) + ca := &x509.Certificate{ SerialNumber: big.NewInt(2019), Subject: pkix.Name{ diff --git a/cmd/karma/tests/testscript/058_log_format_json.txt b/cmd/karma/tests/testscript/058_log_format_json.txt index bd64b5080..2ba349ea9 100644 --- a/cmd/karma/tests/testscript/058_log_format_json.txt +++ b/cmd/karma/tests/testscript/058_log_format_json.txt @@ -13,7 +13,7 @@ cmp stderr stderr.txt {"level":"info","message":"Collection completed"} {"level":"info","message":"Done, starting HTTP server"} {"level":"info","address":"127.0.0.1:8058","message":"Starting HTTP server"} -{"level":"info","message":"Shutting down HTTP server"} +{"level":"info","signal":"terminated","message":"Shutting down HTTP server"} {"level":"info","message":"HTTP server shut down"} {"level":"info","path":"karma.pid","message":"Removing PID file"} -- test.sh -- diff --git a/cmd/karma/tests/testscript/069_simple_config.txt b/cmd/karma/tests/testscript/069_simple_config.txt index 3bd0de01e..b808384b1 100644 --- a/cmd/karma/tests/testscript/069_simple_config.txt +++ b/cmd/karma/tests/testscript/069_simple_config.txt @@ -21,7 +21,7 @@ level=error msg="Collection failed" error="Get \"http://127.0.0.1:7069/api/v2/st level=info msg="Collection completed" level=info msg="Done, starting HTTP server" level=info msg="Starting HTTP server" address=127.0.0.1:8069 -level=info msg="Shutting down HTTP server" +level=info msg="Shutting down HTTP server" signal=terminated level=info msg="HTTP server shut down" level=info msg="Removing PID file" path=karma.pid -- test.sh -- diff --git a/cmd/karma/tests/testscript/073_pid_file_remove_error.txt b/cmd/karma/tests/testscript/073_pid_file_remove_error.txt index a34dd79c6..e0295c4d0 100644 --- a/cmd/karma/tests/testscript/073_pid_file_remove_error.txt +++ b/cmd/karma/tests/testscript/073_pid_file_remove_error.txt @@ -21,7 +21,7 @@ level=error msg="Collection failed" error="Get \"http://127.0.0.1:7073/api/v2/st level=info msg="Collection completed" level=info msg="Done, starting HTTP server" level=info msg="Starting HTTP server" address=127.0.0.1:8073 -level=info msg="Shutting down HTTP server" +level=info msg="Shutting down HTTP server" signal=terminated level=info msg="HTTP server shut down" level=info msg="Removing PID file" path=karma.pid level=error msg="Execution failed" error="failed to remove PID file: remove karma.pid: no such file or directory" diff --git a/cmd/karma/tests/testscript/083_metrics.txt b/cmd/karma/tests/testscript/083_metrics.txt index 2ab680819..3d309f9aa 100644 --- a/cmd/karma/tests/testscript/083_metrics.txt +++ b/cmd/karma/tests/testscript/083_metrics.txt @@ -131,7 +131,7 @@ level=error msg="Collection failed" error="Get \"http://127.0.0.1:7083/api/v2/st level=info msg="Collection completed" level=info msg="Done, starting HTTP server" level=info msg="Starting HTTP server" address=127.0.0.1:8083 -level=info msg="Shutting down HTTP server" +level=info msg="Shutting down HTTP server" signal=terminated level=info msg="HTTP server shut down" level=info msg="Removing PID file" path=karma.pid -- test.sh -- diff --git a/cmd/karma/tests/testscript/085_debug.txt b/cmd/karma/tests/testscript/085_debug.txt index da6378b8d..3e26edb41 100644 --- a/cmd/karma/tests/testscript/085_debug.txt +++ b/cmd/karma/tests/testscript/085_debug.txt @@ -21,7 +21,7 @@ level=error msg="Collection failed" error="Get \"http://127.0.0.1:7085/api/v2/st level=info msg="Collection completed" level=info msg="Done, starting HTTP server" level=info msg="Starting HTTP server" address=127.0.0.1:8085 -level=info msg="Shutting down HTTP server" +level=info msg="Shutting down HTTP server" signal=terminated level=info msg="HTTP server shut down" level=info msg="Removing PID file" path=karma.pid -- test.sh -- diff --git a/cmd/karma/tests/testscript/088_listen_tls_key_invalid.txt b/cmd/karma/tests/testscript/088_listen_tls_key_invalid.txt index c25686648..db1dfa286 100644 --- a/cmd/karma/tests/testscript/088_listen_tls_key_invalid.txt +++ b/cmd/karma/tests/testscript/088_listen_tls_key_invalid.txt @@ -25,7 +25,7 @@ level=info msg="Collection completed" level=info msg="Done, starting HTTP server" level=info msg="Starting HTTPS server" address=127.0.0.1:8088 level=error msg="HTTPS server startup error" error="tls: failed to find any PEM data in key input" -level=info msg="Shutting down HTTP server" +level=info msg="Shutting down HTTP server" signal=terminated level=info msg="HTTP server shut down" level=info msg="Removing PID file" path=karma.pid -- karma.yaml -- diff --git a/cmd/karma/tests/testscript/089_listen_tls_cert_invalid.txt b/cmd/karma/tests/testscript/089_listen_tls_cert_invalid.txt index 562ed23c6..5d333ec4d 100644 --- a/cmd/karma/tests/testscript/089_listen_tls_cert_invalid.txt +++ b/cmd/karma/tests/testscript/089_listen_tls_cert_invalid.txt @@ -25,7 +25,7 @@ level=info msg="Collection completed" level=info msg="Done, starting HTTP server" level=info msg="Starting HTTPS server" address=127.0.0.1:8089 level=error msg="HTTPS server startup error" error="tls: failed to find any PEM data in certificate input" -level=info msg="Shutting down HTTP server" +level=info msg="Shutting down HTTP server" signal=terminated level=info msg="HTTP server shut down" level=info msg="Removing PID file" path=karma.pid -- karma.yaml -- diff --git a/cmd/karma/tests/testscript/090_listen_tls_key_missing.txt b/cmd/karma/tests/testscript/090_listen_tls_key_missing.txt index d6f618e38..e1165ba12 100644 --- a/cmd/karma/tests/testscript/090_listen_tls_key_missing.txt +++ b/cmd/karma/tests/testscript/090_listen_tls_key_missing.txt @@ -23,7 +23,7 @@ level=info msg="Collection completed" level=info msg="Done, starting HTTP server" level=info msg="Starting HTTPS server" address=127.0.0.1:8090 level=error msg="HTTPS server startup error" error="open server.nofound: no such file or directory" -level=info msg="Shutting down HTTP server" +level=info msg="Shutting down HTTP server" signal=terminated level=info msg="HTTP server shut down" level=info msg="Removing PID file" path=karma.pid -- karma.yaml -- diff --git a/cmd/karma/tests/testscript/091_listen_tls_cert_missing.txt b/cmd/karma/tests/testscript/091_listen_tls_cert_missing.txt index 82ac21340..3a3dd479e 100644 --- a/cmd/karma/tests/testscript/091_listen_tls_cert_missing.txt +++ b/cmd/karma/tests/testscript/091_listen_tls_cert_missing.txt @@ -23,7 +23,7 @@ level=info msg="Collection completed" level=info msg="Done, starting HTTP server" level=info msg="Starting HTTPS server" address=127.0.0.1:8091 level=error msg="HTTPS server startup error" error="open server.notfound: no such file or directory" -level=info msg="Shutting down HTTP server" +level=info msg="Shutting down HTTP server" signal=terminated level=info msg="HTTP server shut down" level=info msg="Removing PID file" path=karma.pid -- karma.yaml -- diff --git a/cmd/karma/tests/testscript/094_shutdown_slow_client.txt b/cmd/karma/tests/testscript/094_shutdown_slow_client.txt index 0d3c8bfb6..e0fe34d35 100644 --- a/cmd/karma/tests/testscript/094_shutdown_slow_client.txt +++ b/cmd/karma/tests/testscript/094_shutdown_slow_client.txt @@ -23,7 +23,7 @@ level=error msg="Collection failed" error="Get \"http://127.0.0.1:9094/api/v2/st level=info msg="Collection completed" level=info msg="Done, starting HTTP server" level=info msg="Starting HTTP server" address=127.0.0.1:8094 -level=info msg="Shutting down HTTP server" +level=info msg="Shutting down HTTP server" signal=terminated level=info msg="Removing PID file" path=karma.pid level=error msg="Execution failed" error="shutdown error: context deadline exceeded" -- karma.yaml -- diff --git a/cmd/karma/tests/testscript/103_alert_history_tls.txt b/cmd/karma/tests/testscript/103_alert_history_tls.txt index 9ac8f3f2d..27546d00e 100644 --- a/cmd/karma/tests/testscript/103_alert_history_tls.txt +++ b/cmd/karma/tests/testscript/103_alert_history_tls.txt @@ -26,7 +26,7 @@ level=error msg="Collection failed" error="Get \"http://127.0.0.1/api/v2/status\ level=info msg="Collection completed" level=info msg="Done, starting HTTP server" level=info msg="Starting HTTP server" address=127.0.0.1:8103 -level=info msg="Shutting down HTTP server" +level=info msg="Shutting down HTTP server" signal=terminated level=info msg="HTTP server shut down" level=info msg="Removing PID file" path=karma.pid -- karma.yaml -- diff --git a/cmd/karma/tests/testscript/108_alert_history_proxy_url.txt b/cmd/karma/tests/testscript/108_alert_history_proxy_url.txt index 8f40bd605..d6b06e738 100644 --- a/cmd/karma/tests/testscript/108_alert_history_proxy_url.txt +++ b/cmd/karma/tests/testscript/108_alert_history_proxy_url.txt @@ -24,7 +24,7 @@ level=error msg="Collection failed" error="Get \"http://127.0.0.1:7108/api/v2/st level=info msg="Collection completed" level=info msg="Done, starting HTTP server" level=info msg="Starting HTTP server" address=127.0.0.1:8108 -level=info msg="Shutting down HTTP server" +level=info msg="Shutting down HTTP server" signal=terminated level=info msg="HTTP server shut down" level=info msg="Removing PID file" path=karma.pid -- query.json -- diff --git a/cmd/karma/tests/testscript/109_alert_history_proxy_url_invalid.txt b/cmd/karma/tests/testscript/109_alert_history_proxy_url_invalid.txt index c90f40924..40a8cb30d 100644 --- a/cmd/karma/tests/testscript/109_alert_history_proxy_url_invalid.txt +++ b/cmd/karma/tests/testscript/109_alert_history_proxy_url_invalid.txt @@ -25,7 +25,7 @@ level=info msg="Collection completed" level=info msg="Done, starting HTTP server" level=info msg="Starting HTTP server" address=127.0.0.1:8109 level=warn msg="Error while configuring HTTP transport for history request" error="failed to parse provided proxy url \"%gh&%ij\": parse \"%gh&%ij\": invalid URL escape \"%gh\"" uri=http://127.0.0.1:9109 worker=1 -level=info msg="Shutting down HTTP server" +level=info msg="Shutting down HTTP server" signal=terminated level=info msg="HTTP server shut down" level=info msg="Removing PID file" path=karma.pid -- query.json -- diff --git a/cmd/karma/tests/testscript/111_alert_history_tls_bad.txt b/cmd/karma/tests/testscript/111_alert_history_tls_bad.txt index bd091b296..c7599e380 100644 --- a/cmd/karma/tests/testscript/111_alert_history_tls_bad.txt +++ b/cmd/karma/tests/testscript/111_alert_history_tls_bad.txt @@ -25,7 +25,7 @@ level=info msg="Collection completed" level=info msg="Done, starting HTTP server" level=info msg="Starting HTTP server" address=127.0.0.1:8111 level=warn msg="Error while configuring HTTP transport for history request" error="failed to create HTTP transport for 'http://127.0.0.1:9111': open /xxx/yyy/ca.pem: no such file or directory" uri=http://127.0.0.1:9111 worker=1 -level=info msg="Shutting down HTTP server" +level=info msg="Shutting down HTTP server" signal=terminated level=info msg="HTTP server shut down" level=info msg="Removing PID file" path=karma.pid -- karma.yaml -- diff --git a/cmd/karma/tests/testscript/110_alert_history.txt b/cmd/karma/tests/testscript/112_alert_history.txt similarity index 67% rename from cmd/karma/tests/testscript/110_alert_history.txt rename to cmd/karma/tests/testscript/112_alert_history.txt index ed321cf20..4221f365a 100644 --- a/cmd/karma/tests/testscript/110_alert_history.txt +++ b/cmd/karma/tests/testscript/112_alert_history.txt @@ -1,36 +1,36 @@ http response prometheus /api/v1/labels 200 {"status":"success","data":["alertname"]} http response prometheus /api/v1/query_range 200 {"status":"success","data":{"resultType":"matrix","result":[{"metric":{},"values":[]}]}} -http start prometheus 127.0.0.1:9110 +http start prometheus 127.0.0.1:9112 exec bash -x ./test.sh & -karma.bin-should-work --pid-file=karma.pid --alertmanager.uri=http://127.0.0.1:7110 --listen.address=127.0.0.1 --listen.port=8110 --history.enabled=true --history.timeout=10s +karma.bin-should-work --pid-file=karma.pid --alertmanager.uri=http://127.0.0.1:7112 --listen.address=127.0.0.1 --listen.port=8112 --history.enabled=true --history.timeout=10s ! stdout . cmp stderr stderr.txt -- stderr.txt -- level=info msg="Version: dev" -level=info msg="Configured Alertmanager source" name=default proxy=false readonly=false uri=http://127.0.0.1:7110 +level=info msg="Configured Alertmanager source" name=default proxy=false readonly=false uri=http://127.0.0.1:7112 level=info msg="Writing PID file" path=karma.pid level=info msg="Initial Alertmanager collection" level=info msg="Pulling latest alerts and silences from Alertmanager" level=info msg="Collecting alerts and silences" alertmanager=default -level=info msg="GET request" timeout=40 uri=http://127.0.0.1:7110/metrics -level=error msg="Request failed" error="Get \"http://127.0.0.1:7110/metrics\": dial tcp 127.0.0.1:7110: connect: connection refused" alertmanager=default uri=http://127.0.0.1:7110 -level=error msg="Collection failed" error="Get \"http://127.0.0.1:7110/api/v2/status\": dial tcp 127.0.0.1:7110: connect: connection refused" alertmanager=default try=1/2 -level=info msg="GET request" timeout=40 uri=http://127.0.0.1:7110/metrics -level=error msg="Request failed" error="Get \"http://127.0.0.1:7110/metrics\": dial tcp 127.0.0.1:7110: connect: connection refused" alertmanager=default uri=http://127.0.0.1:7110 -level=error msg="Collection failed" error="Get \"http://127.0.0.1:7110/api/v2/status\": dial tcp 127.0.0.1:7110: connect: connection refused" alertmanager=default try=2/2 +level=info msg="GET request" timeout=40 uri=http://127.0.0.1:7112/metrics +level=error msg="Request failed" error="Get \"http://127.0.0.1:7112/metrics\": dial tcp 127.0.0.1:7112: connect: connection refused" alertmanager=default uri=http://127.0.0.1:7112 +level=error msg="Collection failed" error="Get \"http://127.0.0.1:7112/api/v2/status\": dial tcp 127.0.0.1:7112: connect: connection refused" alertmanager=default try=1/2 +level=info msg="GET request" timeout=40 uri=http://127.0.0.1:7112/metrics +level=error msg="Request failed" error="Get \"http://127.0.0.1:7112/metrics\": dial tcp 127.0.0.1:7112: connect: connection refused" alertmanager=default uri=http://127.0.0.1:7112 +level=error msg="Collection failed" error="Get \"http://127.0.0.1:7112/api/v2/status\": dial tcp 127.0.0.1:7112: connect: connection refused" alertmanager=default try=2/2 level=info msg="Collection completed" level=info msg="Done, starting HTTP server" -level=info msg="Starting HTTP server" address=127.0.0.1:8110 -level=info msg="Shutting down HTTP server" +level=info msg="Starting HTTP server" address=127.0.0.1:8112 +level=info msg="Shutting down HTTP server" signal=terminated level=info msg="HTTP server shut down" level=info msg="Removing PID file" path=karma.pid -- query.json -- { "sources": [ - "http://127.0.0.1:9110", - "http://127.0.0.1:9110" + "http://127.0.0.1:9112", + "http://127.0.0.1:9112" ], "labels": { "alertname": "Fake Alert" @@ -39,5 +39,5 @@ level=info msg="Removing PID file" path=karma.pid -- test.sh -- while [ ! -f karma.pid ]; do sleep 1 ; done sleep 5 -curl -s -f -o /dev/null -XPOST -d @query.json http://127.0.0.1:8110/history.json +curl -s -f -o /dev/null -XPOST -d @query.json http://127.0.0.1:8112/history.json cat karma.pid | xargs kill diff --git a/go.mod b/go.mod index ab7bb4af8..38c50237f 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/prymitive/karma -go 1.19 +go 1.20 require ( github.com/Masterminds/semver/v3 v3.2.0 diff --git a/tools/benchstat/go.mod b/tools/benchstat/go.mod index be6ff792b..de4739ade 100644 --- a/tools/benchstat/go.mod +++ b/tools/benchstat/go.mod @@ -1,6 +1,6 @@ module _ -go 1.19 +go 1.20 require golang.org/x/perf v0.0.0-20220920022801-e8d778a60d07 diff --git a/tools/gofumpt/go.mod b/tools/gofumpt/go.mod index 09c5dfa3d..d0c593cee 100644 --- a/tools/gofumpt/go.mod +++ b/tools/gofumpt/go.mod @@ -1,6 +1,6 @@ module _ -go 1.19 +go 1.20 require mvdan.cc/gofumpt v0.4.0 diff --git a/tools/goimports/go.mod b/tools/goimports/go.mod index 6c51688f4..f136a3af0 100644 --- a/tools/goimports/go.mod +++ b/tools/goimports/go.mod @@ -1,6 +1,6 @@ module _ -go 1.19 +go 1.20 require golang.org/x/tools v0.6.0 diff --git a/tools/golangci-lint/go.mod b/tools/golangci-lint/go.mod index 85a2d7966..8b36f6e74 100644 --- a/tools/golangci-lint/go.mod +++ b/tools/golangci-lint/go.mod @@ -1,6 +1,6 @@ module _ -go 1.19 +go 1.20 require github.com/golangci/golangci-lint v1.51.2