forked from fkie-cad/FACT_core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpyproject.toml
96 lines (82 loc) · 2.82 KB
/
pyproject.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
[tool.black]
line-length = 120
skip-string-normalization = true
target-version = ['py38']
[tool.pylint.main]
init-hook = 'import sys; sys.path.append("./src")'
ignore-paths = ["src/bin"]
load-plugins = ["pylint.extensions.bad_builtin", "pylint.extensions.mccabe"]
extension-pkg-allow-list = ["yara"]
jobs = 0
include-naming-hint = true
good-names = ["i", "j", "k", "Run", "_", "db", "ex", "fd", "fo", "fp", "fw", "pw", "rv", "sc", "tc"]
[tool.pylint."messages control"]
confidence = []
disable = ["missing-docstring" , "locally-disabled", "logging-format-interpolation", "logging-fstring-interpolation"]
[tool.pylint.reports]
output-format = "colorized"
msg-template="{path}:{line}: [{symbol}:{obj}] {msg}"
[tool.pylint.format]
max-line-length = 120
[tool.pylint.design]
max-args=7
max-complexity = 7
min-public-methods = 0
max-public-methods = 40
[tool.pylint.imports]
known-third-party = ["enchant", "docker"]
[tool.pytest.ini_options]
addopts = "-v"
testpaths = [
"src/test",
"src/plugins/**/test",
]
markers = [
"AnalysisPluginTestConfig: Configure the analysis_plugin fixture",
"SchedulerTestConfig: Configure the analysis_scheduler, comparison_scheduler and unpacking_scheduler",
"WebInterfaceUnitTestConfig: Configure the web_interface fixture",
"backend_config_overwrite: Overwrite defaults for the testing backend config",
"common_config_overwrite: Overwrite defaults for the testing common config",
"frontend_config_overwrite: Overwrite defaults for the testing frontend config",
]
[tool.ruff]
select = ["F", "E", "W", "C90", "N", "UP", "B", "A", "PL", "C4", "EXE", "ISC", "PIE", "T20", "PT", "RET", "SIM", "TCH",
"PTH", "PLR", "PLW", "ARG", "ERA", "RUF", "Q"]
ignore = [
"A003",
"RUF001",
"RUF002",
"RUF003",
# pydantic only supports these from python>=3.9
"UP006",
"UP007",
]
fixable = ["F", "E", "W", "C90", "N", "UP", "B", "A", "PL", "C4", "EXE", "ISC", "PIE", "T20", "PT", "RET", "SIM", "TCH",
"PTH", "PLR", "PLW", "ARG", "ERA", "RUF", "Q"]
exclude = [
".git",
".ruff_cache",
".venv",
"bin",
"node_modules",
"docker", # ingore plugins/*/*/docker/scripts/* jython ghidra scripts
"venv",
"data", # ignore plugins/*/*/test/data/* test data folders (containing test files)
]
line-length = 120
target-version = "py38"
[tool.ruff.per-file-ignores]
"test*.py" = ["ARG002"]
"conftest.py" = ["ARG002"]
[tool.ruff.isort]
known-first-party = ["analysis", "compare", "helperFunctions", "install", "intercom", "objects", "plugins", "scheduler",
"statistic", "storage", "test", "unpacker", "version", "web_interface", "config"]
known-third-party = ["docker"]
[tool.ruff.mccabe]
max-complexity = 10
[tool.ruff.flake8-pytest-style]
fixture-parentheses = false
[tool.ruff.flake8-quotes]
inline-quotes = "single"
multiline-quotes = "single"
docstring-quotes = "double"