MCPcopy Create free account
hub / github.com/prometheus/common / TestTextDecoderWithBufioReader

Function TestTextDecoderWithBufioReader

expfmt/decode_test.go:496–524  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

494}
495
496func TestTextDecoderWithBufioReader(t *testing.T) {
497 example := `
498 # TYPE foo gauge
499 foo 0
500 `
501
502 var decoded bool
503 r := bufio.NewReader(strings.NewReader(example))
504 dec := NewDecoder(r, FmtText)
505 for {
506 var mf dto.MetricFamily
507 if err := dec.Decode(&mf); err != nil {
508 if errors.Is(err, io.EOF) {
509 break
510 }
511 t.Fatalf("Unexpected error: %v", err)
512 }
513 if mf.GetName() != "foo" {
514 t.Errorf("Unexpected metric name: got %v, expected %v", mf.GetName(), "foo")
515 }
516 if len(mf.Metric) != 1 {
517 t.Errorf("Unexpected number of metrics: got %v, expected %v", len(mf.Metric), 1)
518 }
519 decoded = true
520 }
521 if !decoded {
522 t.Fatal("Metric foo not decoded")
523 }
524}

Callers

nothing calls this directly

Calls 2

DecodeMethod · 0.95
NewDecoderFunction · 0.85

Tested by

no test coverage detected