diff --git a/demisto_sdk/commands/lint/linter.py b/demisto_sdk/commands/lint/linter.py index f39b201b2a..176bf8cc57 100644 --- a/demisto_sdk/commands/lint/linter.py +++ b/demisto_sdk/commands/lint/linter.py @@ -207,14 +207,18 @@ def _gather_facts(self, modules: dict) -> bool: elif self._pkg_lint_status["pack_type"] == TYPE_PWSH: # Get lint files lint_files = set(self._pack_abs_dir.glob(["*.ps1", "!*Tests.ps1", "CommonServerPowerShell.ps1", "demistomock.ps1'"], flags=NEGATE)) - if 'commonserver' in self._pack_abs_dir.name.lower() and self._pkg_lint_status["pack_type"] == TYPE_PWSH: - self._facts["lint_files"] = [Path(self._pack_abs_dir / 'CommonServerPowerShell.ps1')] + if 'commonserver' in self._pack_abs_dir.name.lower(): + if self._pkg_lint_status["pack_type"] == TYPE_PWSH: + self._facts["lint_files"] = [Path(self._pack_abs_dir / 'CommonServerPowerShell.ps1')] else: test_modules = {self._pack_abs_dir / module.name for module in modules.keys()} lint_files = lint_files.difference(test_modules) self._facts["lint_files"] = list(lint_files) - for lint_file in self._facts["lint_files"]: - logger.info(f"{log_prompt} - Lint file {lint_file}") + if self._facts["lint_files"]: + for lint_file in self._facts["lint_files"]: + logger.info(f"{log_prompt} - Lint file {lint_file}") + else: + logger.info(f"{log_prompt} - Lint files not found") return False @@ -424,7 +428,7 @@ def _run_lint_on_docker_image(self, no_pylint: list, no_test: bool, no_pwsh_anal keep_container=keep_container) if (exit_code != RERUN or trial == 2) and exit_code: - self._pkg_lint_status["exit_code"] += EXIT_CODES[check] + self._pkg_lint_status["exit_code"] |= EXIT_CODES[check] status[f"{check}_errors"] = output break elif exit_code != RERUN: diff --git a/demisto_sdk/commands/lint/tests/linter_manager_test.py b/demisto_sdk/commands/lint/tests/linter_manager_test.py new file mode 100644 index 0000000000..7ee23ade41 --- /dev/null +++ b/demisto_sdk/commands/lint/tests/linter_manager_test.py @@ -0,0 +1,12 @@ +from demisto_sdk.commands.common.constants import TYPE_PYTHON, TYPE_PWSH +import pytest +from unittest.mock import patch + + +@patch('builtins.print') +@pytest.mark.parametrize(argnames="return_exit_code, skipped_code, pkgs_type", + argvalues=[(0b0, 0b0, [TYPE_PWSH, TYPE_PYTHON])]) +def test_report_pass_lint_checks(mocker, return_exit_code: int, skipped_code: int, pkgs_type: list): + from demisto_sdk.commands.lint import lint_manager + lint_manager.LintManager.report_pass_lint_checks(return_exit_code, skipped_code, pkgs_type) + assert mocker.call_count == 8