pint.ok --no-color lint rules
! stdout .
cmp stderr stderr.txt

-- stderr.txt --
level=info msg="Loading configuration file" path=.pint.hcl
level=info msg="File parsed" path=rules/1.yaml rules=3
rules/1.yaml:2: dropped label should be removed when aggregating "^.+$" rules, remove dropped from by() (promql/aggregate)
 2 |   expr: sum(errors_total) by(keep,dropped)

rules/1.yaml:5: keep label is required and should be preserved when aggregating "^.+$" rules, remove keep from without() (promql/aggregate)
 5 |   expr: sum(errors_total) without(keep,dropped)

level=info msg="Problems found" Warning=2
-- rules/1.yaml --
- record: disabled
  expr: sum(errors_total) by(keep,dropped)

- record: B
  expr: sum(errors_total) without(keep,dropped)

- record: C
  # pint disable promql/aggregate(keep:true)
  # pint disable promql/aggregate(dropped:false)
  expr: sum(sum(errors_total) without(keep)) by(dropped)

-- .pint.hcl --
parser {
  relaxed = ["rules/.*"]
}
rule {
    aggregate ".+" {
        keep = [ "keep" ]
    }
}
rule {
    aggregate ".+" {
        strip = [ "dropped" ]
    }
}
