diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c0fa5ce3..3e2c0c31 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -25,6 +25,17 @@ jobs: # TODO: remove R504, A003, E800, E402, WPS1, WPS2, WPS3, WPS4, WPS5, WPS6, H601 flake8 . --count --max-complexity=11 --max-line-length=120 --max-doc-length=120 --ignore=R504,A003,E800,E402,W503,WPS1,WPS2,WPS3,WPS4,WPS5,WPS6,H601 --statistics --exclude=.git,__pycache__,docs/source/conf.py,old,build,dist,venv,test/resources,.eggs,review.egg-info,.pytest_cache,node_modules + - name: Check whitelists are sorted + run: | + for file in "whitelist.txt" "src/python/review/inspectors/flake8/whitelist.txt" + do + if ! sort -c $file + then + echo "$file is not sorted" + exit 1 + fi + done + - name: Set up Eslint run: | # Consistent with eslint version in Dockerfile @@ -44,4 +55,4 @@ jobs: - name: Check installed module can run js linters run: | - python src/python/review/run_tool.py test/resources/inspectors/js/case0_no_issues.js \ No newline at end of file + python src/python/review/run_tool.py test/resources/inspectors/js/case0_no_issues.js diff --git a/src/python/review/inspectors/pmd/files/bin/basic.xml b/src/python/review/inspectors/pmd/files/bin/basic.xml index 09961647..724ee58b 100644 --- a/src/python/review/inspectors/pmd/files/bin/basic.xml +++ b/src/python/review/inspectors/pmd/files/bin/basic.xml @@ -127,7 +127,12 @@ - + + + + + diff --git a/test/python/inspectors/test_pmd_inspector.py b/test/python/inspectors/test_pmd_inspector.py index 03957f20..4a8001e6 100644 --- a/test/python/inspectors/test_pmd_inspector.py +++ b/test/python/inspectors/test_pmd_inspector.py @@ -84,7 +84,7 @@ def test_output_parsing(file_name: str, expected_issues: List[CodeIssue]): FILE_NAMES_AND_N_ISSUES = [ ('test_algorithm_with_scanner.java', 0), ('test_simple_valid_program.java', 0), - ('test_boolean_expr.java', 2), + ('test_boolean_expr.java', 1), ('test_class_with_booleans.java', 3), ('test_closing_streams.java', 1), ('test_code_with_comments.java', 0), @@ -105,7 +105,7 @@ def test_output_parsing(file_name: str, expected_issues: List[CodeIssue]): ('test_thread_run.java', 1), ('test_unused_imports.java', 4), ('test_valid_algorithm_1.java', 0), - ('test_valid_curly_braces.java', 1), + ('test_valid_curly_braces.java', 0), ('test_when_only_equals_overridden.java', 1), ('test_valid_spaces.java', 0), ] diff --git a/whitelist.txt b/whitelist.txt index 1d4af387..67d97c06 100644 --- a/whitelist.txt +++ b/whitelist.txt @@ -1,193 +1,190 @@ -capsys -Checkstyle -conftest -Cyclomatic -Detekt -dirs -ECMA -EXPR -file -FUNC -IGNORECASE -INTELLIJ -Intelli -interop -IssueType -JS -Multithreading -Spotbugs -SpringLint abstractmethod +astype +atclause +bce +binarizer +capsys +case18 +case34 +cbo +changelog +checkstyle +cloneable +concat config +conftest +const +consts +copytree coroutines csv +ctor +cuda +cyclomatic +dataflow +dataframe +dataframes +dataloader +dataset +datasets +dedent desc -DOTALL +detekt +df +dicts +dirname +dirs +dit +dont +dotall +dropna +dtype +dyn +ecma +eps eq eslint etree +eval +eval exc +expr exprs +f1 +file +filemode +fillna +formatter +fs +fullmatch +func +getitem getline getroot +getuid gradle +groupby +hashtable +hyperstyle +idx +ignorecase +iloc inerop +initializer +inplace +instantiation +intelli +intellij +interop +isin +isna +isnull +issuetype +iterrows javac +javadoc +jpg +js json jsons jsonschema +kts +lcom linecache lineno +linesep +listdir +loc +logits +maintainabilities +matcher +mccabe +mcs +measurer min +misrefactored +mlb +multilabel +multiline +multithreading +namespace +ncss +ndarray +nl +nn +noc +nom noqa +nrows +num +numpy +oop +openpyxl +pandarallel +param parametrize +params +parsers pathlib +pickler +plotly pmd +png +popen +pred +preprocess +preprocessing +pretrained +println +punisher +puppycrawl pyast pylint +qodana +qodanadataset readouterr +reindex +removeprefix rfind +rmdir +runtime +setdefault +sigmoid +singleline +sklearn +slf4j +splitext +spotbugs +springlint +sqrt +src +stmts subdir subdirs +sublist +svg sym -unlink -utils -param -params -changelog -multiline -sqrt -WPS -OOP -mccabe -mcs -dicts -misrefactored -src textwrap -dedent -maintainabilities -parsers -fs -KTS -nl -splitext -dirname -hyperstyle -XLSX -Eval -eval -openpyxl -dataframe -writelines -rmdir -df -unique -Punisher -# Springlint issues -cbo -dit -lcom -noc -nom -wmc -util -Namespace -case18 -case34 tmp -pandarallel -isin -loc -uniq -fullmatch -iloc -dataframes -numpy -Pickler -Unpickler -dataset -qodana -listdir -concat -copytree -iterrows -nrows -groupby -getuid -Popen -reindex -datasets -usecols -linesep -plotly -JPG -WEBP -SVG -EPS -xaxis -preprocessing -num -dataloader -dtype -pretrained -logits -sigmoid -astype -Multilabel tokenizer -pred -Tokenizer -bce -nn -warmup -sklearn -Binarizer -mlb -fillna -inplace -getitem -idx -QodanaDataset -cuda -f1 -WANDB -preprocess -PNG -consts -Measurer -ndarray -Runtime -matcher -pathlib -instantiation -initializer -formatter -unsynchronized +uncommented +uniq +unique unit4 unit5 -ncss -hashtable +unlink +unpickler +unsynchronized +usecols +util +utils varargs -println -dataflow -dont -stmts -cloneable -slf4j -removeprefix -Javadoc -Uncommented -Singleline -Xpath -Ctor -Atclause -puppycrawl -CONST -isna -dropna -sublist -dyn -setdefault -isnull -filemode +wandb +warmup +webp +wmc +wps +writelines +xaxis +xlsx +xpath