diff --git a/contrib/dendrite-demo-i2p/main.go b/contrib/dendrite-demo-i2p/main.go index e383f09a5..c5aa7b761 100644 --- a/contrib/dendrite-demo-i2p/main.go +++ b/contrib/dendrite-demo-i2p/main.go @@ -16,6 +16,7 @@ package main import ( "flag" + "os" "time" "github.com/getsentry/sentry-go" @@ -40,9 +41,13 @@ import ( ) var samAddr = flag.String("samaddr", "127.0.0.1:7656", "Address to connect to the I2P SAMv3 API") +var _, skip = os.LookupEnv("CI") func main() { cfg := setup.ParseFlags(true) + if skip { + return + } configErrors := &config.ConfigErrors{} cfg.Verify(configErrors) diff --git a/contrib/dendrite-demo-i2p/main_test.go b/contrib/dendrite-demo-i2p/main_test.go index bc2ed3934..e9b5cab14 100644 --- a/contrib/dendrite-demo-i2p/main_test.go +++ b/contrib/dendrite-demo-i2p/main_test.go @@ -14,43 +14,39 @@ import ( // Generate HTML with coverage: go tool cover -html=/somewhere/where/there/is/integrationcover.out -o cover.html // Source: https://dzone.com/articles/measuring-integration-test-coverage-rate-in-pouchc func TestMain(t *testing.T) { - if _, ex := os.LookupEnv("CI"); ex { - t.Skip("skipping test, as no TOR/I2P client is available") - } else { - t.Log("running locally, continuing with tests") - var ( - args []string - ) + var ( + args []string + ) - for _, arg := range os.Args { - switch { - case strings.HasPrefix(arg, "DEVEL"): - case strings.HasPrefix(arg, "-test"): - default: - args = append(args, arg) - } - } - // only run the tests if there are args to be passed - if len(args) <= 1 { - return - } - - waitCh := make(chan int, 1) - os.Args = args - go func() { - main() - close(waitCh) - }() - - signalCh := make(chan os.Signal, 1) - signal.Notify(signalCh, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGHUP) - - select { - case <-signalCh: - return - case <-waitCh: - return + for _, arg := range os.Args { + switch { + case strings.HasPrefix(arg, "DEVEL"): + case strings.HasPrefix(arg, "-test"): + default: + args = append(args, arg) } } -} + // only run the tests if there are args to be passed + if len(args) <= 1 { + return + } + t.Log(args) + + waitCh := make(chan int, 1) + os.Args = args + go func() { + main() + close(waitCh) + }() + + signalCh := make(chan os.Signal, 1) + signal.Notify(signalCh, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGHUP) + + select { + case <-signalCh: + return + case <-waitCh: + return + } +} diff --git a/contrib/dendrite-demo-tor/main.go b/contrib/dendrite-demo-tor/main.go index 50a8e2cb7..f82d6d538 100644 --- a/contrib/dendrite-demo-tor/main.go +++ b/contrib/dendrite-demo-tor/main.go @@ -15,6 +15,7 @@ package main import ( + "os" "time" "github.com/getsentry/sentry-go" @@ -38,9 +39,13 @@ import ( "github.com/matrix-org/dendrite/userapi" ) +var _, skip = os.LookupEnv("CI") + func main() { cfg := setup.ParseFlags(true) - + if skip { + return + } configErrors := &config.ConfigErrors{} cfg.Verify(configErrors) if len(*configErrors) > 0 { diff --git a/contrib/dendrite-demo-tor/main_test.go b/contrib/dendrite-demo-tor/main_test.go index c90c02908..e9b5cab14 100644 --- a/contrib/dendrite-demo-tor/main_test.go +++ b/contrib/dendrite-demo-tor/main_test.go @@ -14,42 +14,39 @@ import ( // Generate HTML with coverage: go tool cover -html=/somewhere/where/there/is/integrationcover.out -o cover.html // Source: https://dzone.com/articles/measuring-integration-test-coverage-rate-in-pouchc func TestMain(t *testing.T) { - if _, ex := os.LookupEnv("CI"); ex { - t.Skip("skipping test, as no TOR/I2P client is available") - } else { - t.Log("running locally, continuing with tests") - var ( - args []string - ) + var ( + args []string + ) - for _, arg := range os.Args { - switch { - case strings.HasPrefix(arg, "DEVEL"): - case strings.HasPrefix(arg, "-test"): - default: - args = append(args, arg) - } - } - // only run the tests if there are args to be passed - if len(args) <= 1 { - return - } - - waitCh := make(chan int, 1) - os.Args = args - go func() { - main() - close(waitCh) - }() - - signalCh := make(chan os.Signal, 1) - signal.Notify(signalCh, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGHUP) - - select { - case <-signalCh: - return - case <-waitCh: - return + for _, arg := range os.Args { + switch { + case strings.HasPrefix(arg, "DEVEL"): + case strings.HasPrefix(arg, "-test"): + default: + args = append(args, arg) } } + + // only run the tests if there are args to be passed + if len(args) <= 1 { + return + } + t.Log(args) + + waitCh := make(chan int, 1) + os.Args = args + go func() { + main() + close(waitCh) + }() + + signalCh := make(chan os.Signal, 1) + signal.Notify(signalCh, syscall.SIGINT, syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGHUP) + + select { + case <-signalCh: + return + case <-waitCh: + return + } }