! exec pint --no-color lint --require-owner rules
! stdout .
cmp stderr stderr.txt

-- stderr.txt --
level=INFO msg="Loading configuration file" path=.pint.hcl
level=INFO msg="Finding all rules to check" paths=["rules"]
level=INFO msg="Checking Prometheus rules" entries=6 workers=10 online=true
Bug: missing owner (rule/owner)
  ---> rules/1.yml:4-5 -> `No Owner` [+1 duplicates]
5 |     expr: up > 0
              ^^^ `rule/owner` comments are required in all files, please add a `# pint file/owner $owner` somewhere in this file and/or `# pint rule/owner $owner` on top of each rule.

Bug: invalid owner (rule/owner)
  ---> rules/1.yml:7-8 -> `Invalid`
8 |     expr: up == 0
              ^^^ This rule is set as owned by `bob` but `bob` doesn't match any of the allowed owner values.

Bug: invalid owner (rule/owner)
  ---> rules/1.yml:13-14 -> `Owner Zed`
14 |     expr: up < 0
               ^^^ This rule is set as owned by `zed` but `zed` doesn't match any of the allowed owner values.

Bug: invalid owner (rule/owner)
  ---> rules/3.yml:1
1 | # pint file/owner ax
    ^^ This file is set as owned by `ax` but `ax` doesn't match any of the allowed owner values.

level=INFO msg="Some problems are duplicated between rules and all the duplicates were hidden, pass `--show-duplicates` to see them" total=5 duplicates=1 shown=4
level=INFO msg="Problems found" Bug=5
level=ERROR msg="Execution completed with error(s)" err="found 5 problem(s) with severity Bug or higher"
-- rules/1.yml --
groups:
- name: foo
  rules:
  - alert: No Owner
    expr: up > 0
  # pint rule/owner bob
  - alert: Invalid
    expr: up == 0
  # pint rule/owner alice
  - alert: Owner Alice
    expr: up > 0
  # pint rule/owner zed
  - alert: Owner Zed
    expr: up < 0

-- rules/2.yml --
groups:
- name: foo
  rules:
  - alert: No Owner
    expr: up > 0

# pint file/owner ax

-- rules/3.yml --
# pint file/owner ax

groups:
- name: foo
  rules: []

-- .pint.hcl --
owners {
  allowed = ["alice", "max", "not-bob"]
}
