1import mozunit
2
3from conftest import build
4
5LINTER = "clang-format"
6fixed = 0
7
8
9def test_good(lint, config, paths):
10    results = lint(paths("good/"), root=build.topsrcdir, use_filters=False)
11    print(results)
12    assert len(results) == 0
13
14    results = lint(paths("good/"), root=build.topsrcdir, use_filters=False, fix=True)
15    assert fixed == len(results)
16
17
18def test_basic(lint, config, paths):
19    results = lint(paths("bad/bad.cpp"), root=build.topsrcdir, use_filters=False)
20    print(results)
21    assert len(results) >= 1
22
23    assert "Reformat C/C++" in results[0].message
24    assert results[0].level == "warning"
25    assert results[0].lineno == 1
26    assert results[0].column == 4
27    assert "bad.cpp" in results[0].path
28    assert "int  main ( ) {" in results[0].diff
29
30
31def test_dir(lint, config, paths):
32    results = lint(paths("bad/"), root=build.topsrcdir, use_filters=False)
33    print(results)
34    assert len(results) >= 4
35
36    assert "Reformat C/C++" in results[0].message
37    assert results[0].level == "warning"
38    assert results[0].lineno == 1
39    assert results[0].column == 4
40    assert "bad.cpp" in results[0].path
41    assert "int  main ( ) {" in results[0].diff
42
43    assert "Reformat C/C++" in results[5].message
44    assert results[5].level == "warning"
45    assert results[5].lineno == 1
46    assert results[5].column == 18
47    assert "bad2.c" in results[5].path
48    assert "#include" in results[5].diff
49
50
51def test_fixed(lint, create_temp_file):
52
53    contents = """int  main ( ) { \n
54return 0; \n
55
56}"""
57
58    path = create_temp_file(contents, "ignore.cpp")
59    lint([path], use_filters=False, fix=True)
60
61    assert fixed == 5
62
63
64if __name__ == "__main__":
65    mozunit.main()
66