Backed out changeset e95ff11012c5 (bug 1910360) as requested for causing Android...
[gecko.git] / tools / lint / test / test_clang_format.py
blobd32e000131a2aa6f341259f1e4c2a4014ae25d04
1 import mozunit
2 from conftest import build
4 LINTER = "clang-format"
5 fixed = 0
8 def test_good(lint, config, paths):
9 results = lint(paths("good/"), root=build.topsrcdir, use_filters=False)
10 print(results)
11 assert len(results) == 0
13 results = lint(paths("good/"), root=build.topsrcdir, use_filters=False, fix=True)
14 assert fixed == len(results)
17 def test_basic(lint, config, paths):
18 results = lint(paths("bad/bad.cpp"), root=build.topsrcdir, use_filters=False)
19 print(results)
20 assert len(results) == 1
22 assert "Reformat C/C++" in results[0].message
23 assert results[0].level == "warning"
24 assert results[0].lineno == 1
25 assert results[0].column == 0
26 assert "bad.cpp" in results[0].path
27 assert (
28 results[0].diff
29 == """\
30 -int main ( ) {
32 -return 0;
36 +int main() { return 0; }
37 """ # noqa
41 def test_dir(lint, config, paths):
42 results = lint(paths("bad/"), root=build.topsrcdir, use_filters=False)
43 print(results)
44 assert len(results) == 5
46 assert "Reformat C/C++" in results[0].message
47 assert results[0].level == "warning"
48 assert results[0].lineno == 1
49 assert results[0].column == 0
50 assert "bad.cpp" in results[0].path
51 assert (
52 results[0].diff
53 == """\
54 -int main ( ) {
56 -return 0;
60 +int main() { return 0; }
61 """ # noqa
64 assert "Reformat C/C++" in results[1].message
65 assert results[1].level == "warning"
66 assert results[1].lineno == 1
67 assert results[1].column == 0
68 assert "bad2.c" in results[1].path
69 assert (
70 results[1].diff
71 == """\
72 -#include "bad2.h"
75 -int bad2() {
76 +#include "bad2.h"
78 +int bad2() {
79 """
82 assert "Reformat C/C++" in results[2].message
83 assert results[2].level == "warning"
84 assert results[2].lineno == 5
85 assert results[2].column == 0
86 assert "bad2.c" in results[2].path
87 assert (
88 results[2].diff
89 == """\
90 - int a =2;
91 + int a = 2;
92 """
95 assert "Reformat C/C++" in results[3].message
96 assert results[3].level == "warning"
97 assert results[3].lineno == 6
98 assert results[3].column == 0
99 assert "bad2.c" in results[3].path
100 assert (
101 results[3].diff
102 == """\
103 - return a;
106 + return a;
111 assert "Reformat C/C++" in results[4].message
112 assert results[4].level == "warning"
113 assert results[4].lineno == 1
114 assert results[4].column == 0
115 assert "bad2.h" in results[4].path
116 assert (
117 results[4].diff
118 == """\
119 -int bad2(void );
120 +int bad2(void);
125 def test_fixed(lint, create_temp_file):
126 contents = """int main ( ) { \n
127 return 0; \n
129 }"""
131 path = create_temp_file(contents, "ignore.cpp")
132 lint([path], use_filters=False, fix=True)
134 assert fixed == 1
137 if __name__ == "__main__":
138 mozunit.main()