package main import ( "testing" "strings" ) func TestLargeMetrics(t *testing.T){ first := rune(0x41) last := rune(0x5a) omb := strings.Builder{} for r1 := first; r1 <= last; r1++{ for r2 := first; r2 <= last; r2++{ name := strings.Builder{} name.WriteString("test_metric_name_") name.WriteRune(r1) name.WriteRune(r2) omb.WriteString("# TYPE ") omb.WriteString(name.String()) omb.WriteString(" gauge\n") omb.WriteString(name.String()) omb.WriteString("{index=\"0\"} 1\n") omb.WriteString(name.String()) omb.WriteString("{index=\"1\"} 1\n") omb.WriteString(name.String()) omb.WriteString("{index=\"2\"} 1\n") omb.WriteString(name.String()) omb.WriteString("{index=\"3\"} 1\n") omb.WriteString(name.String()) omb.WriteString("{index=\"4\"} 1\n") omb.WriteString(name.String()) omb.WriteString("{index=\"5\"} 1\n") omb.WriteString(name.String()) omb.WriteString("{index=\"6\"} 1\n") omb.WriteString(name.String()) omb.WriteString("{index=\"7\"} 1\n") omb.WriteString(name.String()) omb.WriteString("{index=\"8\"} 1\n") omb.WriteString(name.String()) omb.WriteString("{index=\"9\"} 1\n") omb.WriteString(name.String()) omb.WriteString("{index=\"10\"} 1\n") omb.WriteString(name.String()) omb.WriteString("{index=\"11\"} 1\n") omb.WriteString(name.String()) omb.WriteString("{index=\"12\"} 1\n") omb.WriteString(name.String()) omb.WriteString("{index=\"13\"} 1\n") omb.WriteString(name.String()) omb.WriteString("{index=\"14\"} 1\n") } } omb.WriteString("# EOF\n") m, e := ParseMetrics(([]byte)(omb.String()), "application/openmetrics-text") if e != nil{ t.Error(e) } m.String() }