Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

import mozunit
from conftest import build
LINTER = "clang-format"
fixed = 0
def test_good(lint, config, paths):
results = lint(paths("good/"), root=build.topsrcdir, use_filters=False)
print(results)
assert len(results) == 0
results = lint(paths("good/"), root=build.topsrcdir, use_filters=False, fix=True)
assert fixed == len(results)
def test_basic(lint, config, paths):
results = lint(paths("bad/bad.cpp"), root=build.topsrcdir, use_filters=False)
print(results)
assert len(results) == 1
assert "Reformat C/C++" in results[0].message
assert results[0].level == "warning"
assert results[0].lineno == 1
assert results[0].column == 0
assert "bad.cpp" in results[0].path
assert (
results[0].diff
== """\
-int main ( ) {
-
-return 0;
-
-
-}
+int main() { return 0; }
""" # noqa
)
def test_dir(lint, config, paths):
results = lint(paths("bad/"), root=build.topsrcdir, use_filters=False)
print(results)
assert len(results) == 5
assert "Reformat C/C++" in results[0].message
assert results[0].level == "warning"
assert results[0].lineno == 1
assert results[0].column == 0
assert "bad.cpp" in results[0].path
assert (
results[0].diff
== """\
-int main ( ) {
-
-return 0;
-
-
-}
+int main() { return 0; }
""" # noqa
)
assert "Reformat C/C++" in results[1].message
assert results[1].level == "warning"
assert results[1].lineno == 1
assert results[1].column == 0
assert "bad2.c" in results[1].path
assert (
results[1].diff
== """\
-#include "bad2.h"
-
-
-int bad2() {
+#include "bad2.h"
+
+int bad2() {
"""
)
assert "Reformat C/C++" in results[2].message
assert results[2].level == "warning"
assert results[2].lineno == 5
assert results[2].column == 0
assert "bad2.c" in results[2].path
assert (
results[2].diff
== """\
- int a =2;
+ int a = 2;
"""
)
assert "Reformat C/C++" in results[3].message
assert results[3].level == "warning"
assert results[3].lineno == 6
assert results[3].column == 0
assert "bad2.c" in results[3].path
assert (
results[3].diff
== """\
- return a;
-
-}
+ return a;
+}
"""
)
assert "Reformat C/C++" in results[4].message
assert results[4].level == "warning"
assert results[4].lineno == 1
assert results[4].column == 0
assert "bad2.h" in results[4].path
assert (
results[4].diff
== """\
-int bad2(void );
+int bad2(void);
"""
)
def test_fixed(lint, create_temp_file):
contents = """int main ( ) { \n
return 0; \n
}"""
path = create_temp_file(contents, "ignore.cpp")
lint([path], use_filters=False, fix=True)
assert fixed == 1
if __name__ == "__main__":
mozunit.main()