crackerjack 0.24.0__tar.gz → 0.24.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of crackerjack might be problematic. Click here for more details.
- {crackerjack-0.24.0 → crackerjack-0.24.2}/CLAUDE.md +5 -5
- {crackerjack-0.24.0 → crackerjack-0.24.2}/PKG-INFO +8 -8
- {crackerjack-0.24.0 → crackerjack-0.24.2}/README.md +7 -7
- {crackerjack-0.24.0 → crackerjack-0.24.2}/crackerjack/__main__.py +4 -4
- {crackerjack-0.24.0 → crackerjack-0.24.2}/crackerjack/crackerjack.py +1 -1
- {crackerjack-0.24.0 → crackerjack-0.24.2/crackerjack}/pyproject.toml +5 -4
- {crackerjack-0.24.0/crackerjack → crackerjack-0.24.2}/pyproject.toml +5 -1
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/test_crackerjack.py +16 -16
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/test_main.py +18 -18
- {crackerjack-0.24.0 → crackerjack-0.24.2}/uv.lock +55 -55
- crackerjack-0.24.0/pdm.lock +0 -1042
- {crackerjack-0.24.0 → crackerjack-0.24.2}/.envrc +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/.github/FUNDING.yml +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/.gitignore +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/.libcst.codemod.yaml +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/.pre-commit-config-ai.yaml +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/.pre-commit-config.yaml +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/.windsurfrules +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/LICENSE +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/README-AI-AGENT.md +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/RULES.md +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/crackerjack/.gitignore +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/crackerjack/.libcst.codemod.yaml +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/crackerjack/.pdm.toml +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/crackerjack/.pre-commit-config-ai.yaml +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/crackerjack/.pre-commit-config.yaml +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/crackerjack/__init__.py +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/crackerjack/errors.py +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/crackerjack/interactive.py +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/crackerjack/py313.py +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/TESTING.md +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/__init__.py +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/conftest.py +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/data/comments_sample.txt +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/data/docstrings_sample.txt +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/data/expected_comments_sample.txt +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/data/init.py +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/test_crackerjack_runner.py +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/test_errors.py +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/test_interactive.py +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/test_interactive_run.py +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/test_multiline_functions.py +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/test_py313_advanced.py +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/test_py313_features.py +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/test_pytest_features.py +0 -0
- {crackerjack-0.24.0 → crackerjack-0.24.2}/tests/test_structured_errors.py +0 -0
|
@@ -27,8 +27,8 @@ python -m crackerjack
|
|
|
27
27
|
# Clean code, run tests, and commit changes
|
|
28
28
|
python -m crackerjack -x -t -c
|
|
29
29
|
|
|
30
|
-
# Clean code, run tests, bump version (
|
|
31
|
-
python -m crackerjack -a
|
|
30
|
+
# Clean code, run tests, bump version (patch), and commit changes
|
|
31
|
+
python -m crackerjack -a patch
|
|
32
32
|
|
|
33
33
|
# Launch interactive workflow interface
|
|
34
34
|
python -m crackerjack -i
|
|
@@ -90,13 +90,13 @@ python -m crackerjack -x
|
|
|
90
90
|
### Publishing
|
|
91
91
|
|
|
92
92
|
```bash
|
|
93
|
-
# Bump version (
|
|
94
|
-
python -m crackerjack -p
|
|
93
|
+
# Bump version (patch/minor/major) and publish to PyPI
|
|
94
|
+
python -m crackerjack -p patch
|
|
95
95
|
python -m crackerjack -p minor
|
|
96
96
|
python -m crackerjack -p major
|
|
97
97
|
|
|
98
98
|
# Bump version without publishing
|
|
99
|
-
python -m crackerjack -b
|
|
99
|
+
python -m crackerjack -b patch
|
|
100
100
|
python -m crackerjack -b minor
|
|
101
101
|
python -m crackerjack -b major
|
|
102
102
|
```
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: crackerjack
|
|
3
|
-
Version: 0.24.
|
|
3
|
+
Version: 0.24.2
|
|
4
4
|
Summary: Crackerjack: code quality toolkit
|
|
5
5
|
Project-URL: documentation, https://github.com/lesleslie/crackerjack
|
|
6
6
|
Project-URL: homepage, https://github.com/lesleslie/crackerjack
|
|
@@ -133,7 +133,7 @@ Crackerjack is built on the following core principles:
|
|
|
133
133
|
|
|
134
134
|
### Testing & Deployment
|
|
135
135
|
- **Built-in Testing:** Automatically runs tests using `pytest`
|
|
136
|
-
- **Easy Version Bumping:** Provides commands to bump the project version (
|
|
136
|
+
- **Easy Version Bumping:** Provides commands to bump the project version (patch, minor, or major)
|
|
137
137
|
- **Simplified Publishing:** Automates publishing to PyPI via UV
|
|
138
138
|
|
|
139
139
|
### Git Integration
|
|
@@ -316,8 +316,8 @@ class MyOptions:
|
|
|
316
316
|
self.benchmark_regression_threshold = 5.0 # Threshold percentage for benchmark regression
|
|
317
317
|
|
|
318
318
|
# Version and publishing options
|
|
319
|
-
self.publish = None # Publish to PyPI (
|
|
320
|
-
self.bump = "
|
|
319
|
+
self.publish = None # Publish to PyPI (patch, minor, major)
|
|
320
|
+
self.bump = "patch" # Bump version (patch, minor, major)
|
|
321
321
|
self.all = None # Run with -x -t -p <version> -c
|
|
322
322
|
|
|
323
323
|
# Git options
|
|
@@ -346,8 +346,8 @@ runner.process(MyOptions())
|
|
|
346
346
|
- `-n`, `--no-config-updates`: Skip updating configuration files (e.g., `pyproject.toml`).
|
|
347
347
|
- `-u`, `--update-precommit`: Update pre-commit hooks to the latest versions.
|
|
348
348
|
- `-v`, `--verbose`: Enable verbose output.
|
|
349
|
-
- `-p`, `--publish <
|
|
350
|
-
- `-b`, `--bump <
|
|
349
|
+
- `-p`, `--publish <patch|minor|major>`: Bump the project version and publish to PyPI using UV.
|
|
350
|
+
- `-b`, `--bump <patch|minor|major>`: Bump the project version without publishing.
|
|
351
351
|
- `-r`, `--pr`: Create a pull request to the upstream repository.
|
|
352
352
|
- `-s`, `--skip-hooks`: Skip running pre-commit hooks (useful with `-t`).
|
|
353
353
|
- `-x`, `--clean`: Clean code by removing docstrings, line comments, and extra whitespace.
|
|
@@ -357,7 +357,7 @@ runner.process(MyOptions())
|
|
|
357
357
|
- `--benchmark`: Run tests in benchmark mode (disables parallel execution).
|
|
358
358
|
- `--benchmark-regression`: Fail tests if benchmarks regress beyond threshold.
|
|
359
359
|
- `--benchmark-regression-threshold`: Set threshold percentage for benchmark regression (default 5.0%).
|
|
360
|
-
- `-a`, `--all`: Run with `-x -t -p <
|
|
360
|
+
- `-a`, `--all`: Run with `-x -t -p <patch|minor|major> -c` development options.
|
|
361
361
|
- `-i`, `--interactive`: Enable the interactive Rich UI for a more user-friendly experience with visual progress tracking and interactive prompts.
|
|
362
362
|
- `--ai-agent`: Enable AI agent mode with structured output (see [AI Agent Integration](#ai-agent-integration)).
|
|
363
363
|
- `--help`: Display help.
|
|
@@ -415,7 +415,7 @@ runner.process(MyOptions())
|
|
|
415
415
|
|
|
416
416
|
- **Bump and Publish** - Bump version and publish to PyPI:
|
|
417
417
|
```bash
|
|
418
|
-
python -m crackerjack -p
|
|
418
|
+
python -m crackerjack -p patch # For patch version
|
|
419
419
|
python -m crackerjack -p minor # For minor version
|
|
420
420
|
python -m crackerjack -p major # For major version
|
|
421
421
|
```
|
|
@@ -89,7 +89,7 @@ Crackerjack is built on the following core principles:
|
|
|
89
89
|
|
|
90
90
|
### Testing & Deployment
|
|
91
91
|
- **Built-in Testing:** Automatically runs tests using `pytest`
|
|
92
|
-
- **Easy Version Bumping:** Provides commands to bump the project version (
|
|
92
|
+
- **Easy Version Bumping:** Provides commands to bump the project version (patch, minor, or major)
|
|
93
93
|
- **Simplified Publishing:** Automates publishing to PyPI via UV
|
|
94
94
|
|
|
95
95
|
### Git Integration
|
|
@@ -272,8 +272,8 @@ class MyOptions:
|
|
|
272
272
|
self.benchmark_regression_threshold = 5.0 # Threshold percentage for benchmark regression
|
|
273
273
|
|
|
274
274
|
# Version and publishing options
|
|
275
|
-
self.publish = None # Publish to PyPI (
|
|
276
|
-
self.bump = "
|
|
275
|
+
self.publish = None # Publish to PyPI (patch, minor, major)
|
|
276
|
+
self.bump = "patch" # Bump version (patch, minor, major)
|
|
277
277
|
self.all = None # Run with -x -t -p <version> -c
|
|
278
278
|
|
|
279
279
|
# Git options
|
|
@@ -302,8 +302,8 @@ runner.process(MyOptions())
|
|
|
302
302
|
- `-n`, `--no-config-updates`: Skip updating configuration files (e.g., `pyproject.toml`).
|
|
303
303
|
- `-u`, `--update-precommit`: Update pre-commit hooks to the latest versions.
|
|
304
304
|
- `-v`, `--verbose`: Enable verbose output.
|
|
305
|
-
- `-p`, `--publish <
|
|
306
|
-
- `-b`, `--bump <
|
|
305
|
+
- `-p`, `--publish <patch|minor|major>`: Bump the project version and publish to PyPI using UV.
|
|
306
|
+
- `-b`, `--bump <patch|minor|major>`: Bump the project version without publishing.
|
|
307
307
|
- `-r`, `--pr`: Create a pull request to the upstream repository.
|
|
308
308
|
- `-s`, `--skip-hooks`: Skip running pre-commit hooks (useful with `-t`).
|
|
309
309
|
- `-x`, `--clean`: Clean code by removing docstrings, line comments, and extra whitespace.
|
|
@@ -313,7 +313,7 @@ runner.process(MyOptions())
|
|
|
313
313
|
- `--benchmark`: Run tests in benchmark mode (disables parallel execution).
|
|
314
314
|
- `--benchmark-regression`: Fail tests if benchmarks regress beyond threshold.
|
|
315
315
|
- `--benchmark-regression-threshold`: Set threshold percentage for benchmark regression (default 5.0%).
|
|
316
|
-
- `-a`, `--all`: Run with `-x -t -p <
|
|
316
|
+
- `-a`, `--all`: Run with `-x -t -p <patch|minor|major> -c` development options.
|
|
317
317
|
- `-i`, `--interactive`: Enable the interactive Rich UI for a more user-friendly experience with visual progress tracking and interactive prompts.
|
|
318
318
|
- `--ai-agent`: Enable AI agent mode with structured output (see [AI Agent Integration](#ai-agent-integration)).
|
|
319
319
|
- `--help`: Display help.
|
|
@@ -371,7 +371,7 @@ runner.process(MyOptions())
|
|
|
371
371
|
|
|
372
372
|
- **Bump and Publish** - Bump version and publish to PyPI:
|
|
373
373
|
```bash
|
|
374
|
-
python -m crackerjack -p
|
|
374
|
+
python -m crackerjack -p patch # For patch version
|
|
375
375
|
python -m crackerjack -p minor # For minor version
|
|
376
376
|
python -m crackerjack -p major # For major version
|
|
377
377
|
```
|
|
@@ -12,7 +12,7 @@ app = typer.Typer(
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
class BumpOption(str, Enum):
|
|
15
|
-
|
|
15
|
+
patch = "patch"
|
|
16
16
|
minor = "minor"
|
|
17
17
|
major = "major"
|
|
18
18
|
|
|
@@ -73,14 +73,14 @@ cli_options = {
|
|
|
73
73
|
None,
|
|
74
74
|
"-p",
|
|
75
75
|
"--publish",
|
|
76
|
-
help="Bump version and publish to PyPI (
|
|
76
|
+
help="Bump version and publish to PyPI (patch, minor, major).",
|
|
77
77
|
case_sensitive=False,
|
|
78
78
|
),
|
|
79
79
|
"bump": typer.Option(
|
|
80
80
|
None,
|
|
81
81
|
"-b",
|
|
82
82
|
"--bump",
|
|
83
|
-
help="Bump version (
|
|
83
|
+
help="Bump version (patch, minor, major).",
|
|
84
84
|
case_sensitive=False,
|
|
85
85
|
),
|
|
86
86
|
"clean": typer.Option(
|
|
@@ -125,7 +125,7 @@ cli_options = {
|
|
|
125
125
|
None,
|
|
126
126
|
"-a",
|
|
127
127
|
"--all",
|
|
128
|
-
help="Run with `-x -t -p <
|
|
128
|
+
help="Run with `-x -t -p <patch|minor|major> -c` development options).",
|
|
129
129
|
case_sensitive=False,
|
|
130
130
|
),
|
|
131
131
|
"create_pr": typer.Option(
|
|
@@ -885,7 +885,7 @@ class ProjectManager(BaseModel, arbitrary_types_allowed=True):
|
|
|
885
885
|
self.execute_command(["uv", "tool", "install", "keyring"])
|
|
886
886
|
self.execute_command(["git", "init"])
|
|
887
887
|
self.execute_command(["git", "branch", "-m", "main"])
|
|
888
|
-
self.execute_command(["git", "add", "pyproject.toml", "
|
|
888
|
+
self.execute_command(["git", "add", "pyproject.toml", "uv.lock"])
|
|
889
889
|
self.execute_command(["git", "config", "advice.addIgnoredFile", "false"])
|
|
890
890
|
install_cmd = ["pre-commit", "install"]
|
|
891
891
|
if hasattr(self, "options") and getattr(self.options, "ai_agent", False):
|
|
@@ -2,12 +2,9 @@
|
|
|
2
2
|
build-backend = "hatchling.build"
|
|
3
3
|
requires = [ "hatchling" ]
|
|
4
4
|
|
|
5
|
-
[tool.uv]
|
|
6
|
-
keyring-provider = "subprocess"
|
|
7
|
-
|
|
8
5
|
[project]
|
|
9
6
|
name = "crackerjack"
|
|
10
|
-
version = "0.24.
|
|
7
|
+
version = "0.24.1"
|
|
11
8
|
description = "Crackerjack: code quality toolkit"
|
|
12
9
|
readme = "README.md"
|
|
13
10
|
keywords = [
|
|
@@ -196,6 +193,10 @@ reportUnknownParameterType = "warning"
|
|
|
196
193
|
reportPrivateUsage = false
|
|
197
194
|
pythonVersion = "3.13"
|
|
198
195
|
|
|
196
|
+
[tool.uv]
|
|
197
|
+
keyring-provider = "subprocess"
|
|
198
|
+
index-url = "https://pypi.org/simple/"
|
|
199
|
+
|
|
199
200
|
[tool.vulture]
|
|
200
201
|
min_confidence = 86
|
|
201
202
|
paths = [ "crackerjack" ]
|
|
@@ -4,7 +4,7 @@ requires = [ "hatchling" ]
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "crackerjack"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.24.2"
|
|
8
8
|
description = "Crackerjack: code quality toolkit"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
keywords = [
|
|
@@ -193,6 +193,10 @@ reportUnknownParameterType = "warning"
|
|
|
193
193
|
reportPrivateUsage = false
|
|
194
194
|
pythonVersion = "3.13"
|
|
195
195
|
|
|
196
|
+
[tool.uv]
|
|
197
|
+
keyring-provider = "subprocess"
|
|
198
|
+
index-url = "https://pypi.org/simple/"
|
|
199
|
+
|
|
196
200
|
[tool.vulture]
|
|
197
201
|
min_confidence = 86
|
|
198
202
|
paths = [ "crackerjack" ]
|
|
@@ -19,7 +19,7 @@ from crackerjack.crackerjack import (
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
class BumpOption(str, Enum):
|
|
22
|
-
|
|
22
|
+
patch = "patch"
|
|
23
23
|
minor = "minor"
|
|
24
24
|
major = "major"
|
|
25
25
|
|
|
@@ -134,7 +134,7 @@ class TestCrackerjackProcess:
|
|
|
134
134
|
options = options_factory(
|
|
135
135
|
commit=True,
|
|
136
136
|
interactive=True,
|
|
137
|
-
publish="
|
|
137
|
+
publish="patch",
|
|
138
138
|
bump="major",
|
|
139
139
|
clean=True,
|
|
140
140
|
update_precommit=True,
|
|
@@ -368,7 +368,7 @@ class TestCrackerjackProcess:
|
|
|
368
368
|
)
|
|
369
369
|
mock_exec.assert_called_once_with(["uv", "version", "--bump", "major"])
|
|
370
370
|
|
|
371
|
-
def
|
|
371
|
+
def test_bump_version_no_confirmation_patch(
|
|
372
372
|
self,
|
|
373
373
|
mock_execute: MagicMock,
|
|
374
374
|
mock_console_print: MagicMock,
|
|
@@ -377,14 +377,14 @@ class TestCrackerjackProcess:
|
|
|
377
377
|
create_package_dir: None,
|
|
378
378
|
options_factory: t.Callable[..., OptionsForTesting],
|
|
379
379
|
) -> None:
|
|
380
|
-
options = options_factory(bump="
|
|
380
|
+
options = options_factory(bump="patch", no_config_updates=True)
|
|
381
381
|
cj = Crackerjack(dry_run=True)
|
|
382
382
|
with patch("rich.prompt.Confirm.ask") as mock_confirm:
|
|
383
383
|
with patch.object(Crackerjack, "execute_command") as mock_exec:
|
|
384
384
|
mock_exec.return_value = MagicMock(returncode=0)
|
|
385
385
|
cj._bump_version(options)
|
|
386
386
|
mock_confirm.assert_not_called()
|
|
387
|
-
mock_exec.assert_called_once_with(["uv", "version", "--bump", "
|
|
387
|
+
mock_exec.assert_called_once_with(["uv", "version", "--bump", "patch"])
|
|
388
388
|
|
|
389
389
|
def test_prepare_pytest_command_ai_agent_mode(
|
|
390
390
|
self,
|
|
@@ -458,7 +458,7 @@ class TestCrackerjackProcess:
|
|
|
458
458
|
create_package_dir: None,
|
|
459
459
|
options_factory: t.Callable[..., OptionsForTesting],
|
|
460
460
|
) -> None:
|
|
461
|
-
options = options_factory(publish="
|
|
461
|
+
options = options_factory(publish="patch", no_config_updates=True)
|
|
462
462
|
with (
|
|
463
463
|
patch.object(Crackerjack, "_bump_version") as mock_bump,
|
|
464
464
|
patch.object(Crackerjack, "_publish_project") as mock_publish,
|
|
@@ -484,7 +484,7 @@ class TestCrackerjackProcess:
|
|
|
484
484
|
mock_execute.return_value.returncode = 0
|
|
485
485
|
mock_project_manager_execute.return_value.returncode = 0
|
|
486
486
|
mock_config_manager_execute.return_value.returncode = 0
|
|
487
|
-
options = options_factory(all="
|
|
487
|
+
options = options_factory(all="patch", publish="patch")
|
|
488
488
|
with patch.object(Crackerjack, "execute_command") as mock_cj_execute:
|
|
489
489
|
mock_cj_execute.return_value = MagicMock(returncode=0, stdout="Success")
|
|
490
490
|
with patch.object(Crackerjack, "_update_project"):
|
|
@@ -513,7 +513,7 @@ class TestCrackerjackProcess:
|
|
|
513
513
|
create_package_dir: None,
|
|
514
514
|
options_factory: t.Callable[..., OptionsForTesting],
|
|
515
515
|
) -> None:
|
|
516
|
-
options = options_factory(all=BumpOption.
|
|
516
|
+
options = options_factory(all=BumpOption.patch)
|
|
517
517
|
cj = Crackerjack(dry_run=True)
|
|
518
518
|
with patch.object(cj, "_setup_package"):
|
|
519
519
|
with patch.object(cj, "_update_project"):
|
|
@@ -569,7 +569,7 @@ class TestCrackerjackProcess:
|
|
|
569
569
|
) -> None:
|
|
570
570
|
options = options_factory(
|
|
571
571
|
all=BumpOption.major,
|
|
572
|
-
publish=BumpOption.
|
|
572
|
+
publish=BumpOption.patch,
|
|
573
573
|
clean=False,
|
|
574
574
|
test=False,
|
|
575
575
|
commit=False,
|
|
@@ -635,7 +635,7 @@ class TestCrackerjackProcess:
|
|
|
635
635
|
) -> None:
|
|
636
636
|
cj = Crackerjack(dry_run=True)
|
|
637
637
|
options = MagicMock()
|
|
638
|
-
options.all = BumpOption.
|
|
638
|
+
options.all = BumpOption.patch
|
|
639
639
|
options.clean = False
|
|
640
640
|
options.test = False
|
|
641
641
|
options.publish = None
|
|
@@ -652,7 +652,7 @@ class TestCrackerjackProcess:
|
|
|
652
652
|
cj.process(options)
|
|
653
653
|
assert options.clean is True
|
|
654
654
|
assert options.test is True
|
|
655
|
-
assert options.publish == BumpOption.
|
|
655
|
+
assert options.publish == BumpOption.patch
|
|
656
656
|
assert options.commit is True
|
|
657
657
|
|
|
658
658
|
def test_process_with_failed_tests(
|
|
@@ -688,7 +688,7 @@ class TestCrackerjackProcess:
|
|
|
688
688
|
create_package_dir: None,
|
|
689
689
|
options_factory: t.Callable[..., OptionsForTesting],
|
|
690
690
|
) -> None:
|
|
691
|
-
options = options_factory(publish="
|
|
691
|
+
options = options_factory(publish="patch", no_config_updates=True)
|
|
692
692
|
with patch("platform.system", return_value="Linux"):
|
|
693
693
|
with patch.object(Crackerjack, "execute_command") as mock_cj_execute:
|
|
694
694
|
|
|
@@ -710,7 +710,7 @@ class TestCrackerjackProcess:
|
|
|
710
710
|
)
|
|
711
711
|
|
|
712
712
|
def test_publish_project_darwin(self) -> None:
|
|
713
|
-
options = OptionsForTesting(publish=BumpOption.
|
|
713
|
+
options = OptionsForTesting(publish=BumpOption.patch)
|
|
714
714
|
actual_calls: list[list[str]] = []
|
|
715
715
|
|
|
716
716
|
def mock_execute_side_effect(
|
|
@@ -740,7 +740,7 @@ class TestCrackerjackProcess:
|
|
|
740
740
|
assert ["uv", "publish"] in actual_calls
|
|
741
741
|
|
|
742
742
|
def test_publish_with_authentication(self) -> None:
|
|
743
|
-
options = OptionsForTesting(publish=BumpOption.
|
|
743
|
+
options = OptionsForTesting(publish=BumpOption.patch)
|
|
744
744
|
actual_calls: list[list[str]] = []
|
|
745
745
|
|
|
746
746
|
def mock_execute_side_effect(
|
|
@@ -774,7 +774,7 @@ class TestCrackerjackProcess:
|
|
|
774
774
|
assert ["uv", "publish"] in actual_calls
|
|
775
775
|
|
|
776
776
|
def test_build_failure(self) -> None:
|
|
777
|
-
options = OptionsForTesting(publish=BumpOption.
|
|
777
|
+
options = OptionsForTesting(publish=BumpOption.patch)
|
|
778
778
|
actual_calls: list[list[str]] = []
|
|
779
779
|
|
|
780
780
|
def mock_execute_side_effect(
|
|
@@ -806,7 +806,7 @@ class TestCrackerjackProcess:
|
|
|
806
806
|
assert ["uv", "publish"] not in actual_calls
|
|
807
807
|
|
|
808
808
|
def test_publish_failure(self) -> None:
|
|
809
|
-
options = OptionsForTesting(publish=BumpOption.
|
|
809
|
+
options = OptionsForTesting(publish=BumpOption.patch)
|
|
810
810
|
actual_calls: list[list[str]] = []
|
|
811
811
|
|
|
812
812
|
def mock_execute_side_effect(
|
|
@@ -94,11 +94,11 @@ def test_verbose_option(runner: CliRunner, mock_crackerjack_process: MagicMock)
|
|
|
94
94
|
|
|
95
95
|
|
|
96
96
|
def test_publish_option(runner: CliRunner, mock_crackerjack_process: MagicMock) -> None:
|
|
97
|
-
result = runner.invoke(app, ["-p", "
|
|
97
|
+
result = runner.invoke(app, ["-p", "patch"])
|
|
98
98
|
assert result.exit_code == 0
|
|
99
99
|
mock_crackerjack_process.process.assert_called_once()
|
|
100
100
|
options = mock_crackerjack_process.process.call_args[0][0]
|
|
101
|
-
assert options.publish == BumpOption.
|
|
101
|
+
assert options.publish == BumpOption.patch
|
|
102
102
|
mock_crackerjack_process.process.reset_mock()
|
|
103
103
|
result = runner.invoke(app, ["--publish", "minor"])
|
|
104
104
|
assert result.exit_code == 0
|
|
@@ -110,18 +110,18 @@ def test_publish_option(runner: CliRunner, mock_crackerjack_process: MagicMock)
|
|
|
110
110
|
options = mock_crackerjack_process.process.call_args[0][0]
|
|
111
111
|
assert options.publish == BumpOption.major
|
|
112
112
|
mock_crackerjack_process.process.reset_mock()
|
|
113
|
-
result = runner.invoke(app, ["--publish", "
|
|
113
|
+
result = runner.invoke(app, ["--publish", "PATCH"])
|
|
114
114
|
assert result.exit_code == 0
|
|
115
115
|
options = mock_crackerjack_process.process.call_args[0][0]
|
|
116
|
-
assert options.publish == BumpOption.
|
|
116
|
+
assert options.publish == BumpOption.patch
|
|
117
117
|
|
|
118
118
|
|
|
119
119
|
def test_bump_option(runner: CliRunner, mock_crackerjack_process: MagicMock) -> None:
|
|
120
|
-
result = runner.invoke(app, ["-b", "
|
|
120
|
+
result = runner.invoke(app, ["-b", "patch"])
|
|
121
121
|
assert result.exit_code == 0
|
|
122
122
|
mock_crackerjack_process.process.assert_called_once()
|
|
123
123
|
options = mock_crackerjack_process.process.call_args[0][0]
|
|
124
|
-
assert options.bump == BumpOption.
|
|
124
|
+
assert options.bump == BumpOption.patch
|
|
125
125
|
mock_crackerjack_process.process.reset_mock()
|
|
126
126
|
result = runner.invoke(app, ["--bump", "minor"])
|
|
127
127
|
assert result.exit_code == 0
|
|
@@ -133,10 +133,10 @@ def test_bump_option(runner: CliRunner, mock_crackerjack_process: MagicMock) ->
|
|
|
133
133
|
options = mock_crackerjack_process.process.call_args[0][0]
|
|
134
134
|
assert options.bump == BumpOption.major
|
|
135
135
|
mock_crackerjack_process.process.reset_mock()
|
|
136
|
-
result = runner.invoke(app, ["--bump", "
|
|
136
|
+
result = runner.invoke(app, ["--bump", "PATCH"])
|
|
137
137
|
assert result.exit_code == 0
|
|
138
138
|
options = mock_crackerjack_process.process.call_args[0][0]
|
|
139
|
-
assert options.bump == BumpOption.
|
|
139
|
+
assert options.bump == BumpOption.patch
|
|
140
140
|
|
|
141
141
|
|
|
142
142
|
def test_clean_option(runner: CliRunner, mock_crackerjack_process: MagicMock) -> None:
|
|
@@ -205,7 +205,7 @@ def test_create_options() -> None:
|
|
|
205
205
|
no_config_updates=True,
|
|
206
206
|
update_precommit=True,
|
|
207
207
|
verbose=True,
|
|
208
|
-
publish=BumpOption.
|
|
208
|
+
publish=BumpOption.patch,
|
|
209
209
|
bump=BumpOption.major,
|
|
210
210
|
clean=True,
|
|
211
211
|
test=True,
|
|
@@ -218,7 +218,7 @@ def test_create_options() -> None:
|
|
|
218
218
|
assert test_options.no_config_updates
|
|
219
219
|
assert test_options.update_precommit
|
|
220
220
|
assert test_options.verbose
|
|
221
|
-
assert test_options.publish == BumpOption.
|
|
221
|
+
assert test_options.publish == BumpOption.patch
|
|
222
222
|
assert test_options.bump == BumpOption.major
|
|
223
223
|
assert test_options.clean
|
|
224
224
|
assert test_options.test
|
|
@@ -230,19 +230,19 @@ def test_create_options() -> None:
|
|
|
230
230
|
def test_conflicting_options(
|
|
231
231
|
runner: CliRunner, mock_crackerjack_process: MagicMock
|
|
232
232
|
) -> None:
|
|
233
|
-
result = runner.invoke(app, ["-p", "
|
|
233
|
+
result = runner.invoke(app, ["-p", "patch", "-b", "minor"])
|
|
234
234
|
assert result.exit_code == 0
|
|
235
235
|
options = mock_crackerjack_process.process.call_args[0][0]
|
|
236
|
-
assert options.publish == BumpOption.
|
|
236
|
+
assert options.publish == BumpOption.patch
|
|
237
237
|
assert options.bump == BumpOption.minor
|
|
238
238
|
|
|
239
239
|
|
|
240
240
|
def test_all_option(runner: CliRunner, mock_crackerjack_process: MagicMock) -> None:
|
|
241
|
-
result = runner.invoke(app, ["-a", "
|
|
241
|
+
result = runner.invoke(app, ["-a", "patch"])
|
|
242
242
|
assert result.exit_code == 0
|
|
243
243
|
mock_crackerjack_process.process.assert_called_once()
|
|
244
244
|
options = mock_crackerjack_process.process.call_args[0][0]
|
|
245
|
-
assert options.all == BumpOption.
|
|
245
|
+
assert options.all == BumpOption.patch
|
|
246
246
|
mock_crackerjack_process.process.reset_mock()
|
|
247
247
|
result = runner.invoke(app, ["--all", "minor"])
|
|
248
248
|
assert result.exit_code == 0
|
|
@@ -254,20 +254,20 @@ def test_all_option(runner: CliRunner, mock_crackerjack_process: MagicMock) -> N
|
|
|
254
254
|
options = mock_crackerjack_process.process.call_args[0][0]
|
|
255
255
|
assert options.all == BumpOption.major
|
|
256
256
|
mock_crackerjack_process.process.reset_mock()
|
|
257
|
-
result = runner.invoke(app, ["--all", "
|
|
257
|
+
result = runner.invoke(app, ["--all", "PATCH"])
|
|
258
258
|
assert result.exit_code == 0
|
|
259
259
|
options = mock_crackerjack_process.process.call_args[0][0]
|
|
260
|
-
assert options.all == BumpOption.
|
|
260
|
+
assert options.all == BumpOption.patch
|
|
261
261
|
|
|
262
262
|
|
|
263
263
|
def test_all_option_with_other_options(
|
|
264
264
|
runner: CliRunner, mock_crackerjack_process: MagicMock
|
|
265
265
|
) -> None:
|
|
266
|
-
result = runner.invoke(app, ["-a", "
|
|
266
|
+
result = runner.invoke(app, ["-a", "patch", "-c", "-t"])
|
|
267
267
|
assert result.exit_code == 0
|
|
268
268
|
mock_crackerjack_process.process.assert_called_once()
|
|
269
269
|
options = mock_crackerjack_process.process.call_args[0][0]
|
|
270
|
-
assert options.all == BumpOption.
|
|
270
|
+
assert options.all == BumpOption.patch
|
|
271
271
|
assert options.commit
|
|
272
272
|
assert options.test
|
|
273
273
|
|