func testQueryExt(t *testing.T, ht *MiniHTraced, query *common.Query, expectedSpans []common.Span, expectedNumScanned []int) { spans, err, numScanned := ht.Store.HandleQuery(query) if err != nil { t.Fatalf("Query %s failed: %s\n", query.String(), err.Error()) } expectedBuf := new(bytes.Buffer) dec := json.NewEncoder(expectedBuf) err = dec.Encode(expectedSpans) if err != nil { t.Fatalf("Failed to encode expectedSpans to JSON: %s\n", err.Error()) } spansBuf := new(bytes.Buffer) dec = json.NewEncoder(spansBuf) err = dec.Encode(spans) if err != nil { t.Fatalf("Failed to encode result spans to JSON: %s\n", err.Error()) } t.Logf("len(spans) = %d, len(expectedSpans) = %d\n", len(spans), len(expectedSpans)) common.ExpectStrEqual(t, string(expectedBuf.Bytes()), string(spansBuf.Bytes())) if expectedNumScanned != nil { if !reflect.DeepEqual(expectedNumScanned, numScanned) { t.Fatalf("Invalid values for numScanned: got %v, expected %v\n", expectedNumScanned, numScanned) } } }
func testQuery(t *testing.T, ht *MiniHTraced, query *common.Query, expectedSpans []common.Span) { spans, err := ht.Store.HandleQuery(query) if err != nil { t.Fatalf("First query failed: %s\n", err.Error()) } expectedBuf := new(bytes.Buffer) dec := json.NewEncoder(expectedBuf) err = dec.Encode(expectedSpans) if err != nil { t.Fatalf("Failed to encode expectedSpans to JSON: %s\n", err.Error()) } spansBuf := new(bytes.Buffer) dec = json.NewEncoder(spansBuf) err = dec.Encode(spans) if err != nil { t.Fatalf("Failed to encode result spans to JSON: %s\n", err.Error()) } t.Logf("len(spans) = %d, len(expectedSpans) = %d\n", len(spans), len(expectedSpans)) common.ExpectStrEqual(t, string(expectedBuf.Bytes()), string(spansBuf.Bytes())) }