From f83b5fc1241223698ae50b70aaa6f1546df303ec Mon Sep 17 00:00:00 2001 From: Wojtek Date: Thu, 20 Jun 2024 20:47:23 +0200 Subject: [PATCH] Remove `znet` environment on integration test failure --- build/bridge/tests.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/build/bridge/tests.go b/build/bridge/tests.go index cafd4551..01335c3e 100644 --- a/build/bridge/tests.go +++ b/build/bridge/tests.go @@ -49,7 +49,7 @@ func RunAllIntegrationTests(ctx context.Context, deps types.DepsFunc) error { // RunIntegrationTests returns function running integration tests. func RunIntegrationTests(name string) types.CommandFunc { - return func(ctx context.Context, deps types.DepsFunc) error { + return func(ctx context.Context, deps types.DepsFunc) (retErr error) { deps(BuildRelayerDockerImage, BuildSmartContract, tools.EnsureBridgeXRPLWASM, coreum.BuildCoredLocally, coreum.BuildCoredDockerImage) @@ -64,20 +64,23 @@ func RunIntegrationTests(name string) types.CommandFunc { if err := znet.Remove(ctx, znetConfig); err != nil { return err } + defer func() { + if err := znet.Remove(ctx, znetConfig); retErr == nil { + retErr = err + } + }() + if err := znet.Start(ctx, znetConfig); err != nil { return err } - if err := golang.RunTests(ctx, deps, golang.TestConfig{ + return golang.RunTests(ctx, deps, golang.TestConfig{ PackagePath: filepath.Join(testsDir, name), Flags: []string{ "-timeout=30m", "-tags=integrationtests", fmt.Sprintf("-parallel=%d", 2*runtime.NumCPU()), }, - }); err != nil { - return err - } - return znet.Remove(ctx, znetConfig) + }) } }