138 lines
2.8 KiB
Python
138 lines
2.8 KiB
Python
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()
|