Skip to content

Commit 0f857a6

Browse files
authored
SCANPY-214: Change property name --sonar-cpd-python-minimum-tokens to --sonar-cpd-py-minimum-tokens (#248)
1 parent 5ff9d8a commit 0f857a6

File tree

4 files changed

+37
-10
lines changed

4 files changed

+37
-10
lines changed

CLI_ARGS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@
5252
| `--sonar-branch-name`, `-Dsonar.branch.name` | Name of the branch being analyzed |
5353
| `--sonar-build-string`, `-Dsonar.buildString` | The string passed with this property will be stored with the analysis and available in the results of api/project_analyses/search, thus allowing you to later identify a specific analysis and obtain its key for use with api/new_code_periods/set on the SPECIFIC_ANALYSIS type |
5454
| `--sonar-coverage-exclusions`, `--sonar.coverage.exclusions`, `-Dsonar.coverage.exclusions` | Defines the source files to be excluded from the code coverage analysis. |
55-
| `--sonar-cpd-python-minimum-lines`, `-Dsonar.cpd.python.minimumLines` | Minimum number of tokens to be considered as a duplicated block of code |
56-
| `--sonar-cpd-python-minimum-tokens`, `-Dsonar.cpd.python.minimumTokens` | Minimum number of tokens to be considered as a duplicated block of code |
55+
| `--sonar-cpd-py-minimum-lines`, `-Dsonar.cpd.py.minimumLines`, `--sonar-cpd-python-minimum-lines`, `-Dsonar.cpd.python.minimumLines` | Minimum number of tokens to be considered as a duplicated block of code |
56+
| `--sonar-cpd-py-minimum-tokens`, `-Dsonar.cpd.py.minimumTokens`, `--sonar-cpd-python-minimum-tokens`, `-Dsonar.cpd.python.minimumTokens` | Minimum number of tokens to be considered as a duplicated block of code |
5757
| `--sonar-links-ci`, `-Dsonar.links.ci` | The URL of the continuous integration system used |
5858
| `--sonar-links-homepage`, `-Dsonar.links.homepage` | The URL of the build project home page |
5959
| `--sonar-links-issue`, `-Dsonar.links.issue` | The URL to the issue tracker being used |

src/pysonar_scanner/configuration/cli.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -300,12 +300,16 @@ def __create_parser(cls):
300300
help="Sets the limit in MB for files to be discarded from the analysis scope if the size is greater than specified",
301301
)
302302
scanner_behavior_group.add_argument(
303+
"--sonar-cpd-py-minimum-tokens",
304+
"-Dsonar.cpd.py.minimumTokens",
303305
"--sonar-cpd-python-minimum-tokens",
304306
"-Dsonar.cpd.python.minimumTokens",
305307
type=int,
306308
help="Minimum number of tokens to be considered as a duplicated block of code",
307309
)
308310
scanner_behavior_group.add_argument(
311+
"--sonar-cpd-py-minimum-lines",
312+
"-Dsonar.cpd.py.minimumLines",
309313
"--sonar-cpd-python-minimum-lines",
310314
"-Dsonar.cpd.python.minimumLines",
311315
type=int,

src/pysonar_scanner/configuration/properties.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@
6767
SONAR_EXCLUSIONS: Key = "sonar.exclusions"
6868
SONAR_TESTS: Key = "sonar.tests"
6969
SONAR_FILESIZE_LIMIT: Key = "sonar.filesize.limit"
70-
SONAR_CPD_PYTHON_MINIMUM_TOKENS: Key = "sonar.cpd.python.minimumTokens"
71-
SONAR_CPD_PYTHON_MINIMUM_LINES: Key = "sonar.cpd.python.minimumLines"
70+
SONAR_CPD_PYTHON_MINIMUM_TOKENS: Key = "sonar.cpd.py.minimumTokens"
71+
SONAR_CPD_PYTHON_MINIMUM_LINES: Key = "sonar.cpd.py.minimumLines"
7272
SONAR_LOG_LEVEL: Key = "sonar.log.level"
7373
SONAR_QUALITYGATE_WAIT: Key = "sonar.qualitygate.wait"
7474
SONAR_QUALITYGATE_TIMEOUT: Key = "sonar.qualitygate.timeout"
@@ -361,12 +361,12 @@ def env_variable_name(self) -> str:
361361
Property(
362362
name=SONAR_CPD_PYTHON_MINIMUM_TOKENS,
363363
default_value=None,
364-
cli_getter=lambda args: args.sonar_cpd_python_minimum_tokens
364+
cli_getter=lambda args: args.sonar_cpd_py_minimum_tokens
365365
),
366366
Property(
367367
name=SONAR_CPD_PYTHON_MINIMUM_LINES,
368368
default_value=None,
369-
cli_getter=lambda args: args.sonar_cpd_python_minimum_lines
369+
cli_getter=lambda args: args.sonar_cpd_py_minimum_lines
370370
),
371371
Property(
372372
name=SONAR_LOG_LEVEL,

tests/unit/test_configuration_cli.py

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -376,9 +376,9 @@ def test_impossible_os_choice(self):
376376
"--sonar-filesize-limit",
377377
"1000",
378378
"--sonar-scm-exclusions-disabled",
379-
"--sonar-cpd-python-minimum-tokens",
379+
"--sonar-cpd-py-minimum-tokens",
380380
"15",
381-
"--sonar-cpd-python-minimum-lines",
381+
"--sonar-cpd-py-minimum-lines",
382382
"100",
383383
"--sonar-log-level",
384384
"INFO",
@@ -487,8 +487,8 @@ def test_all_cli_args(self):
487487
"-Dsonar.projectBaseDir=mySonarProjectBaseDir",
488488
"-Dsonar.filesize.limit=1000",
489489
"-Dsonar.scm.exclusions.disabled=true",
490-
"-Dsonar.cpd.python.minimumTokens=15",
491-
"-Dsonar.cpd.python.minimumLines=100",
490+
"-Dsonar.cpd.py.minimumTokens=15",
491+
"-Dsonar.cpd.py.minimumLines=100",
492492
"-Dsonar.qualitygate.wait=true",
493493
"-Dsonar.qualitygate.timeout=120",
494494
"-Dsonar.externalIssuesReportPaths=path/to/external/issues",
@@ -561,6 +561,29 @@ def test_both_boolean_args_given(self):
561561
configuration = CliConfigurationLoader.load()
562562
self.assertTrue(configuration.get(SONAR_SCM_EXCLUSIONS_DISABLED))
563563

564+
@patch(
565+
"sys.argv",
566+
[
567+
"myscript.py",
568+
"--token",
569+
"myToken",
570+
"--sonar-project-key",
571+
"myProjectKey",
572+
"-Dsonar.cpd.python.minimumLines=10",
573+
"--sonar-cpd-python-minimum-tokens",
574+
"20",
575+
],
576+
)
577+
def test_cpd_config_with_py_property_name(self):
578+
configuration = CliConfigurationLoader.load()
579+
expected_configuration = {
580+
SONAR_TOKEN: "myToken",
581+
SONAR_PROJECT_KEY: "myProjectKey",
582+
SONAR_CPD_PYTHON_MINIMUM_LINES: 10,
583+
SONAR_CPD_PYTHON_MINIMUM_TOKENS: 20,
584+
}
585+
self.assertDictEqual(configuration, expected_configuration)
586+
564587
@patch(
565588
"sys.argv",
566589
[

0 commit comments

Comments
 (0)