(t *testing.T)
| 2925 | } |
| 2926 | |
| 2927 | func TestPostingsForMatchers(t *testing.T) { |
| 2928 | ctx := context.Background() |
| 2929 | |
| 2930 | chunkDir := t.TempDir() |
| 2931 | opts := DefaultHeadOptions() |
| 2932 | opts.ChunkRange = 1000 |
| 2933 | opts.ChunkDirRoot = chunkDir |
| 2934 | h, err := NewHead(nil, nil, nil, nil, opts, nil) |
| 2935 | require.NoError(t, err) |
| 2936 | defer func() { |
| 2937 | require.NoError(t, h.Close()) |
| 2938 | }() |
| 2939 | |
| 2940 | app := h.Appender(context.Background()) |
| 2941 | app.Append(0, labels.FromStrings("n", "1"), 0, 0) |
| 2942 | app.Append(0, labels.FromStrings("n", "1", "i", "a"), 0, 0) |
| 2943 | app.Append(0, labels.FromStrings("n", "1", "i", "b"), 0, 0) |
| 2944 | app.Append(0, labels.FromStrings("n", "1", "i", "\n"), 0, 0) |
| 2945 | app.Append(0, labels.FromStrings("n", "2"), 0, 0) |
| 2946 | app.Append(0, labels.FromStrings("n", "2.5"), 0, 0) |
| 2947 | require.NoError(t, app.Commit()) |
| 2948 | |
| 2949 | cases := []struct { |
| 2950 | matchers []*labels.Matcher |
| 2951 | exp []labels.Labels |
| 2952 | }{ |
| 2953 | // Simple equals. |
| 2954 | { |
| 2955 | matchers: []*labels.Matcher{labels.MustNewMatcher(labels.MatchEqual, "n", "1")}, |
| 2956 | exp: []labels.Labels{ |
| 2957 | labels.FromStrings("n", "1"), |
| 2958 | labels.FromStrings("n", "1", "i", "a"), |
| 2959 | labels.FromStrings("n", "1", "i", "b"), |
| 2960 | labels.FromStrings("n", "1", "i", "\n"), |
| 2961 | }, |
| 2962 | }, |
| 2963 | { |
| 2964 | matchers: []*labels.Matcher{labels.MustNewMatcher(labels.MatchEqual, "n", "1"), labels.MustNewMatcher(labels.MatchEqual, "i", "a")}, |
| 2965 | exp: []labels.Labels{ |
| 2966 | labels.FromStrings("n", "1", "i", "a"), |
| 2967 | }, |
| 2968 | }, |
| 2969 | { |
| 2970 | matchers: []*labels.Matcher{labels.MustNewMatcher(labels.MatchEqual, "n", "1"), labels.MustNewMatcher(labels.MatchEqual, "i", "missing")}, |
| 2971 | exp: []labels.Labels{}, |
| 2972 | }, |
| 2973 | { |
| 2974 | matchers: []*labels.Matcher{labels.MustNewMatcher(labels.MatchEqual, "missing", "")}, |
| 2975 | exp: []labels.Labels{ |
| 2976 | labels.FromStrings("n", "1"), |
| 2977 | labels.FromStrings("n", "1", "i", "a"), |
| 2978 | labels.FromStrings("n", "1", "i", "b"), |
| 2979 | labels.FromStrings("n", "1", "i", "\n"), |
| 2980 | labels.FromStrings("n", "2"), |
| 2981 | labels.FromStrings("n", "2.5"), |
| 2982 | }, |
| 2983 | }, |
| 2984 | // Not equals. |
nothing calls this directly
no test coverage detected
searching dependent graphs…