craft-application 2.1.0__tar.gz → 2.2.0__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.
- {craft-application-2.1.0 → craft-application-2.2.0}/PKG-INFO +2 -2
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/__init__.py +1 -1
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/_version.py +2 -2
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/application.py +27 -2
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application.egg-info/PKG-INFO +2 -2
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application.egg-info/requires.txt +1 -1
- {craft-application-2.1.0 → craft-application-2.2.0}/pyproject.toml +1 -1
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/test_application.py +29 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.editorconfig +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.github/.jira_sync_config.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.github/ISSUE_TEMPLATE/bug.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.github/ISSUE_TEMPLATE/task.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.github/release-drafter.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.github/release-drafter.yml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.github/renovate.json5 +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.github/workflows/cla-check.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.github/workflows/docs.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.github/workflows/release-drafter.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.github/workflows/tests.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.gitignore +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.pre-commit-config.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.readthedocs.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/.yamllint.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/HACKING.rst +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/LICENSE +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/README.rst +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/commands/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/commands/base.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/commands/lifecycle.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/commands/other.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/errors.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/grammar.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/errors.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/launchpad.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/models/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/models/base.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/models/build.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/models/code.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/models/distro.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/models/project.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/models/recipe.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/util.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/misc/instance_bashrc +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/models/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/models/base.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/models/constraints.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/models/grammar.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/models/metadata.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/models/project.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/py.typed +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/remote/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/remote/errors.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/remote/git.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/remote/utils.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/remote/worktree.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/secrets.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/services/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/services/base.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/services/lifecycle.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/services/package.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/services/provider.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/services/remotebuild.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/services/request.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/services/service_factory.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/util/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/util/callbacks.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/util/error_formatting.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/util/logging.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/util/paths.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/util/platforms.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/util/repositories.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/util/snap_config.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/util/string.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application/util/yaml.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application.egg-info/SOURCES.txt +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application.egg-info/dependency_links.txt +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/craft_application.egg-info/top_level.txt +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/docs/_static/css/custom.css +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/docs/conf.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/docs/explanation/index.rst +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/docs/howto/index.rst +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/docs/index.rst +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/docs/reference/index.rst +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/docs/tutorials/index.rst +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/setup.cfg +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/conftest.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/conftest.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/data/build-secrets/secret-source-folder/source-file.txt +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/data/build-secrets/testcraft.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/data/invalid_projects/build-error/testcraft.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/data/valid_projects/adoption/stderr +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/data/valid_projects/adoption/testcraft.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/data/valid_projects/basic/stderr +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/data/valid_projects/basic/testcraft.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/data/valid_projects/environment/stderr +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/data/valid_projects/environment/testcraft.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/data/valid_projects/grammar/src/on-amd64-to-amd64/hello.txt +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/data/valid_projects/grammar/src/on-amd64-to-arm64/hello.txt +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/data/valid_projects/grammar/stderr +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/data/valid_projects/grammar/testcraft.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/launchpad/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/launchpad/conftest.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/launchpad/test_anonymous_access.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/services/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/services/test_lifecycle.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/services/test_provider.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/services/test_request.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/services/test_service_factory.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/test_application.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/test_version.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/commands/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/commands/test_base.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/commands/test_lifecycle.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/commands/test_other.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/conftest.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/launchpad/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/launchpad/conftest.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/launchpad/models/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/launchpad/models/test_base.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/launchpad/models/test_code.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/launchpad/test_launchpad.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/launchpad/test_util.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/models/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/models/project_models/basic_project.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/models/project_models/full_project.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/models/project_models/invalid_project.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/models/test_constraints.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/models/test_project.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/remote/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/remote/conftest.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/remote/test_errors.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/remote/test_git.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/remote/test_utils.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/remote/test_worktree.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/services/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/services/conftest.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/services/test_lifecycle.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/services/test_package.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/services/test_provider.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/services/test_remotebuild.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/services/test_repositories.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/services/test_request.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/services/test_service_factory.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/test_errors.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/test_grammar.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/test_nothing.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/test_secrets.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/util/__init__.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/util/invalid_yaml/_README +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/util/invalid_yaml/duplicate_second_level.yaml-invalid +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/util/invalid_yaml/duplicate_top_level.yaml-invalid +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/util/invalid_yaml/unhashable.yaml-invalid +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/util/test_error_formatting.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/util/test_logging.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/util/test_paths.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/util/test_snap_config.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/util/test_string.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/util/test_yaml.py +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/util/valid_yaml/empty.yaml +0 -0
- {craft-application-2.1.0 → craft-application-2.2.0}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: craft-application
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.2.0
|
|
4
4
|
Summary: A framework for *craft applications.
|
|
5
5
|
Classifier: Development Status :: 5 - Production/Stable
|
|
6
6
|
Classifier: Environment :: Console
|
|
@@ -35,7 +35,7 @@ Requires-Dist: hypothesis>=6.0; extra == "dev"
|
|
|
35
35
|
Requires-Dist: pyfakefs~=5.3; extra == "dev"
|
|
36
36
|
Requires-Dist: pytest==8.1.1; extra == "dev"
|
|
37
37
|
Requires-Dist: pytest-check==2.3.1; extra == "dev"
|
|
38
|
-
Requires-Dist: pytest-cov==
|
|
38
|
+
Requires-Dist: pytest-cov==5.0.0; extra == "dev"
|
|
39
39
|
Requires-Dist: pytest-mock==3.12.0; extra == "dev"
|
|
40
40
|
Requires-Dist: pytest-rerunfailures==13.0; extra == "dev"
|
|
41
41
|
Requires-Dist: pytest-time>=0.3.1; extra == "dev"
|
|
@@ -32,7 +32,7 @@ except ImportError: # pragma: no cover
|
|
|
32
32
|
from importlib.metadata import version, PackageNotFoundError
|
|
33
33
|
|
|
34
34
|
try:
|
|
35
|
-
__version__ = version("craft-
|
|
35
|
+
__version__ = version("craft-application")
|
|
36
36
|
except PackageNotFoundError:
|
|
37
37
|
__version__ = "dev"
|
|
38
38
|
|
|
@@ -323,7 +323,10 @@ class Application:
|
|
|
323
323
|
if build_for and build_for != build_info.build_for:
|
|
324
324
|
continue
|
|
325
325
|
|
|
326
|
-
env = {
|
|
326
|
+
env = {
|
|
327
|
+
"CRAFT_PLATFORM": build_info.platform,
|
|
328
|
+
"CRAFT_VERBOSITY_LEVEL": craft_cli.emit.get_mode().name,
|
|
329
|
+
}
|
|
327
330
|
|
|
328
331
|
if self.app.features.build_secrets:
|
|
329
332
|
# If using build secrets, put them in the environment of the managed
|
|
@@ -658,16 +661,38 @@ class Application:
|
|
|
658
661
|
# Set the logging level to DEBUG for all craft-libraries. This is OK even if
|
|
659
662
|
# the specific application doesn't use a specific library, the call does not
|
|
660
663
|
# import the package.
|
|
664
|
+
emitter_mode: craft_cli.EmitterMode = craft_cli.EmitterMode.BRIEF
|
|
665
|
+
invalid_emitter_level = False
|
|
661
666
|
util.setup_loggers(*self._cli_loggers)
|
|
662
667
|
|
|
668
|
+
# environment variable takes precedence over the default
|
|
669
|
+
emitter_verbosity_level_env = os.environ.get("CRAFT_VERBOSITY_LEVEL", None)
|
|
670
|
+
|
|
671
|
+
if emitter_verbosity_level_env:
|
|
672
|
+
try:
|
|
673
|
+
emitter_mode = craft_cli.EmitterMode[
|
|
674
|
+
emitter_verbosity_level_env.strip().upper()
|
|
675
|
+
]
|
|
676
|
+
except KeyError:
|
|
677
|
+
invalid_emitter_level = True
|
|
678
|
+
|
|
663
679
|
craft_cli.emit.init(
|
|
664
|
-
mode=
|
|
680
|
+
mode=emitter_mode,
|
|
665
681
|
appname=self.app.name,
|
|
666
682
|
greeting=f"Starting {self.app.name}, version {self.app.version}",
|
|
667
683
|
log_filepath=self.log_path,
|
|
668
684
|
streaming_brief=True,
|
|
669
685
|
)
|
|
670
686
|
|
|
687
|
+
craft_cli.emit.debug(f"Log verbosity level set to {emitter_mode.name}")
|
|
688
|
+
|
|
689
|
+
if invalid_emitter_level:
|
|
690
|
+
craft_cli.emit.progress(
|
|
691
|
+
f"Invalid verbosity level '{emitter_verbosity_level_env}', using default 'BRIEF'.\n"
|
|
692
|
+
f"Valid levels are: {', '.join(emitter.name for emitter in craft_cli.EmitterMode)}",
|
|
693
|
+
permanent=True,
|
|
694
|
+
)
|
|
695
|
+
|
|
671
696
|
|
|
672
697
|
def filter_plan(
|
|
673
698
|
build_plan: list[BuildInfo],
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: craft-application
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.2.0
|
|
4
4
|
Summary: A framework for *craft applications.
|
|
5
5
|
Classifier: Development Status :: 5 - Production/Stable
|
|
6
6
|
Classifier: Environment :: Console
|
|
@@ -35,7 +35,7 @@ Requires-Dist: hypothesis>=6.0; extra == "dev"
|
|
|
35
35
|
Requires-Dist: pyfakefs~=5.3; extra == "dev"
|
|
36
36
|
Requires-Dist: pytest==8.1.1; extra == "dev"
|
|
37
37
|
Requires-Dist: pytest-check==2.3.1; extra == "dev"
|
|
38
|
-
Requires-Dist: pytest-cov==
|
|
38
|
+
Requires-Dist: pytest-cov==5.0.0; extra == "dev"
|
|
39
39
|
Requires-Dist: pytest-mock==3.12.0; extra == "dev"
|
|
40
40
|
Requires-Dist: pytest-rerunfailures==13.0; extra == "dev"
|
|
41
41
|
Requires-Dist: pytest-time>=0.3.1; extra == "dev"
|
|
@@ -450,6 +450,35 @@ def test_show_app_name_and_version(monkeypatch, capsys, app):
|
|
|
450
450
|
assert f"Starting testcraft, version {app.app.version}" in err
|
|
451
451
|
|
|
452
452
|
|
|
453
|
+
@pytest.mark.parametrize("verbosity", list(craft_cli.EmitterMode))
|
|
454
|
+
def test_set_verbosity_from_env(monkeypatch, capsys, app, verbosity):
|
|
455
|
+
"""Test that the emitter verbosity is set from the environment."""
|
|
456
|
+
monkeypatch.setattr(sys, "argv", ["testcraft"])
|
|
457
|
+
monkeypatch.setenv("CRAFT_VERBOSITY_LEVEL", verbosity.name)
|
|
458
|
+
|
|
459
|
+
with pytest.raises(SystemExit):
|
|
460
|
+
app.run()
|
|
461
|
+
|
|
462
|
+
_, err = capsys.readouterr()
|
|
463
|
+
assert "testcraft [help]" in err
|
|
464
|
+
assert craft_cli.emit._mode == verbosity
|
|
465
|
+
|
|
466
|
+
|
|
467
|
+
def test_set_verbosity_from_env_incorrect(monkeypatch, capsys, app):
|
|
468
|
+
"""Test that the emitter verbosity is using the default level when invalid."""
|
|
469
|
+
monkeypatch.setattr(sys, "argv", ["testcraft"])
|
|
470
|
+
monkeypatch.setenv("CRAFT_VERBOSITY_LEVEL", "incorrect")
|
|
471
|
+
|
|
472
|
+
with pytest.raises(SystemExit):
|
|
473
|
+
app.run()
|
|
474
|
+
|
|
475
|
+
_, err = capsys.readouterr()
|
|
476
|
+
assert "testcraft [help]" in err
|
|
477
|
+
assert "Invalid verbosity level 'incorrect'" in err
|
|
478
|
+
assert "Valid levels are: QUIET, BRIEF, VERBOSE, DEBUG, TRACE" in err
|
|
479
|
+
assert craft_cli.emit._mode == craft_cli.EmitterMode.BRIEF
|
|
480
|
+
|
|
481
|
+
|
|
453
482
|
def test_pre_run_project_dir_managed(app):
|
|
454
483
|
app.is_managed = lambda: True
|
|
455
484
|
dispatcher = mock.Mock(spec_set=craft_cli.Dispatcher)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/launchpad.py
RENAMED
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/models/__init__.py
RENAMED
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/models/base.py
RENAMED
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/models/build.py
RENAMED
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/models/code.py
RENAMED
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/models/distro.py
RENAMED
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/models/project.py
RENAMED
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/craft_application/launchpad/models/recipe.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/craft_application/services/remotebuild.py
RENAMED
|
File without changes
|
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/craft_application/services/service_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/craft_application/util/error_formatting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/craft_application.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/craft_application.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/services/test_lifecycle.py
RENAMED
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/services/test_provider.py
RENAMED
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/tests/integration/services/test_request.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/launchpad/models/test_base.py
RENAMED
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/launchpad/models/test_code.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/services/test_repositories.py
RENAMED
|
File without changes
|
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/services/test_service_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{craft-application-2.1.0 → craft-application-2.2.0}/tests/unit/util/test_error_formatting.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|