diff --git a/test/runner.go b/test/runner.go index 4cd235c567649b01386d5bcb5cdf1d600a44d9c7..70e1aee7ae296d6263aab34bd251865d94312b58 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 638ec6819ba375d84a08d755378b24bdde6c5bd5..fa662b8477eb4ff30d373dd0808e6491c5e2e1df 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;"), }, }