From 752d62133d707aee771307137d2bc605b4eeb374 Mon Sep 17 00:00:00 2001 From: Rauno Ots Date: Wed, 23 Dec 2020 03:10:32 +0100 Subject: [PATCH] engine: add test for parallel bots (#609) * enable a no longer failing test --- engine/engine_test.go | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/engine/engine_test.go b/engine/engine_test.go index 888b619b..bdb68778 100644 --- a/engine/engine_test.go +++ b/engine/engine_test.go @@ -73,11 +73,11 @@ func TestLoadConfigWithSettings(t *testing.T) { } func TestStartStopDoesNotCausePanic(t *testing.T) { - t.Skip("Due to race condition with global config.Cfg being used from multiple tests and RPC server and REST proxy never properly stopped when engine.Stop() is called") + t.Parallel() botOne, err := NewFromSettings(&Settings{ ConfigFile: config.TestFile, EnableDryRun: true, - }, make(map[string]bool)) + }, nil) if err != nil { t.Error(err) } @@ -88,3 +88,31 @@ func TestStartStopDoesNotCausePanic(t *testing.T) { botOne.Stop() } + +func TestStartStopTwoDoesNotCausePanic(t *testing.T) { + t.Skip("Closing global currency.storage from two bots causes panic") + t.Parallel() + botOne, err := NewFromSettings(&Settings{ + ConfigFile: config.TestFile, + EnableDryRun: true, + }, nil) + if err != nil { + t.Error(err) + } + botTwo, err := NewFromSettings(&Settings{ + ConfigFile: config.TestFile, + EnableDryRun: true, + }, nil) + if err != nil { + t.Error(err) + } + if err = botOne.Start(); err != nil { + t.Error(err) + } + if err = botTwo.Start(); err != nil { + t.Error(err) + } + + botOne.Stop() + botTwo.Stop() +}