summaryrefslogtreecommitdiffstats
path: root/tools/lint/test/test_file_perm.py
blob: df5de9adb8ab1570b9dc56fedbc28a6ddce4a89b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from __future__ import absolute_import, print_function

import pytest

import mozunit

LINTER = "file-perm"


@pytest.mark.lint_config(name="file-perm")
def test_lint_file_perm(lint, paths):
    results = lint(paths("no-shebang"), collapse_results=True)
    print(results)

    assert results.keys() == {
        "no-shebang/bad.c",
        "no-shebang/bad-shebang.c",
        "no-shebang/bad.png",
    }

    for path, issues in results.items():
        for issue in issues:
            assert "permissions on a source" in issue.message
            assert issue.level == "error"


@pytest.mark.lint_config(name="maybe-shebang-file-perm")
def test_lint_shebang_file_perm(config, lint, paths):
    results = lint(paths("maybe-shebang"))
    print(results)
    assert len(results) == 1

    assert "permissions on a source" in results[0].message
    assert results[0].level == "error"
    assert results[0].relpath == "maybe-shebang/bad.js"


if __name__ == "__main__":
    mozunit.main()