From fb90c334dffc6c91843d8d36ac31e7f7eb6c7594 Mon Sep 17 00:00:00 2001 From: Dave Collins Date: Tue, 13 Sep 2016 16:16:51 -0500 Subject: [PATCH] rpctest: Cleanup resources on failed setup. This modifies the rpctest harness to call the TearDown function in the SetUp error path. This ensures any resources, such as temp directories, that were created during setup before whatever the failure that caused the error are properly cleaned up. --- rpcserver_test.go | 7 +++++++ rpctest/rpc_harness_test.go | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/rpcserver_test.go b/rpcserver_test.go index 49e86342..10422927 100644 --- a/rpcserver_test.go +++ b/rpcserver_test.go @@ -117,6 +117,13 @@ func TestMain(m *testing.M) { // purposes. if err := primaryHarness.SetUp(true, 25); err != nil { fmt.Println("unable to setup test chain: ", err) + + // Even though the harness was not fully setup, it still needs + // to be torn down to ensure all resources such as temp + // directories are cleaned up. The error is intentionally + // ignored since this is already an error path and nothing else + // could be done about it anyways. + _ = primaryHarness.TearDown() os.Exit(1) } diff --git a/rpctest/rpc_harness_test.go b/rpctest/rpc_harness_test.go index f6856f82..042744a1 100644 --- a/rpctest/rpc_harness_test.go +++ b/rpctest/rpc_harness_test.go @@ -501,6 +501,13 @@ func TestMain(m *testing.M) { // purposes. if err = mainHarness.SetUp(true, numMatureOutputs); err != nil { fmt.Println("unable to setup test chain: ", err) + + // Even though the harness was not fully setup, it still needs + // to be torn down to ensure all resources such as temp + // directories are cleaned up. The error is intentionally + // ignored since this is already an error path and nothing else + // could be done about it anyways. + _ = mainHarness.TearDown() os.Exit(1) }