// setupMultipleRanges creates a test server and splits the // key range at the given keys. Returns the test server and client. // The caller is responsible for stopping the server and // closing the client. func setupMultipleRanges(t *testing.T, ts *server.TestServer, splitAt ...string) *client.DB { db := createTestClient(t, ts.Stopper(), ts.ServingAddr()) // Split the keyspace at the given keys. for _, key := range splitAt { if err := db.AdminSplit(key); err != nil { // Don't leak server goroutines. t.Fatal(err) } } return db }
func initReverseScanTestEnv(s *server.TestServer, t *testing.T) *client.DB { db := createTestClient(t, s.Stopper(), s.ServingAddr()) // Set up multiple ranges: // ["", "b"),["b", "e") ,["e", "g") and ["g", "\xff\xff"). for _, key := range []string{"b", "e", "g"} { // Split the keyspace at the given key. if pErr := db.AdminSplit(key); pErr != nil { t.Fatal(pErr) } } // Write keys before, at, and after the split key. for _, key := range []string{"a", "b", "c", "d", "e", "f", "g", "h"} { if pErr := db.Put(key, "value"); pErr != nil { t.Fatal(pErr) } } return db }