From 8f01b23e2d6b0f7cdde0ad1004cd54bffb819e4d Mon Sep 17 00:00:00 2001 From: Garet Halliday <me@garet.holiday> Date: Tue, 12 Sep 2023 18:27:39 -0500 Subject: [PATCH] don't create a new connection for each step, just each test run --- test/runner.go | 25 ++++++++++++++++--------- test/tests/simple_query.go | 2 ++ 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/test/runner.go b/test/runner.go index 4cd235c5..70e1aee7 100644 --- a/test/runner.go +++ b/test/runner.go @@ -10,7 +10,6 @@ import ( "pggat/lib/gat/pool" "pggat/lib/gat/pool/recipe" "pggat/lib/gsql" - "pggat/lib/util/maps" "pggat/test/inst" ) @@ -18,7 +17,8 @@ type Runner struct { config Config test Test - pools map[string]*pool.Pool + pools map[string]*pool.Pool + control fed.Conn } func MakeRunner(config Config, test Test) Runner { @@ -30,7 +30,19 @@ func MakeRunner(config Config, test Test) Runner { func (T *Runner) setup() error { // get pools ready - maps.Clear(T.pools) + if T.control != nil { + _ = T.control.Close() + } + var err error + T.control, _, err = T.config.Peer.Dial() + if err != nil { + return err + } + + for name, p := range T.pools { + delete(T.pools, name) + p.Close() + } if T.pools == nil { T.pools = make(map[string]*pool.Pool) } @@ -62,11 +74,6 @@ func (T *Runner) run(pkts ...fed.Packet) error { return err } - server, _, err := T.config.Peer.Dial() - if err != nil { - return err - } - for { p, err := client.ReadPacket(true) if err != nil { @@ -76,7 +83,7 @@ func (T *Runner) run(pkts ...fed.Packet) error { return err } - clientErr, serverErr := bouncers.Bounce(&client, server, p) + clientErr, serverErr := bouncers.Bounce(&client, T.control, p) if clientErr != nil { return clientErr } diff --git a/test/tests/simple_query.go b/test/tests/simple_query.go index 638ec681..fa662b84 100644 --- a/test/tests/simple_query.go +++ b/test/tests/simple_query.go @@ -8,5 +8,7 @@ import ( var SimpleQuery = test.Test{ Instructions: []inst.Instruction{ inst.SimpleQuery("select 1;"), + inst.SimpleQuery("SELECT 2, 3, 4;"), + inst.SimpleQuery("akfdfsjkfds;"), }, } -- GitLab