def setUp(self): super().setUp() # Use "clean" step for testing provider handling. self.step = "clean" # Don't actually run clean - we only want to test the command # line interface flag parsing. self.useFixture( fixtures.MockPatch("snapcraft.internal.lifecycle.clean")) # tests.unit.TestCase sets SNAPCRAFT_BUILD_ENVIRONMENT to host. # These build provider tests will want to set this explicitly. self.useFixture( fixtures.EnvironmentVariable("SNAPCRAFT_BUILD_ENVIRONMENT", None)) self.mock_get_provider_for = self.useFixture( fixtures.MockPatch( "snapcraft.internal.build_providers.get_provider_for", return_value=ProviderImpl, )).mock # Tests need to dictate this (or not). self.useFixture( fixtures.MockPatch( "snapcraft.internal.common.is_process_container", return_value=False)) self.useFixture(fixture_setup.FakeMultipass()) snapcraft_yaml = fixture_setup.SnapcraftYaml(self.path, base="core") snapcraft_yaml.update_part("part1", dict(plugin="nil")) self.useFixture(snapcraft_yaml)
def setUp(self): super().setUp() self.useFixture( fixtures.EnvironmentVariable("SNAPCRAFT_BUILD_ENVIRONMENT", "multipass")) self.useFixture(fixture_setup.FakeMultipass()) clean_project_mock = mock.Mock() clean_mock = mock.Mock() class Provider(ProviderImpl): def execute_step(self, step: steps.Step) -> None: raise ProviderExecError(provider_name="fake", command=["snapcraft", "pull"], exit_code=1) def clean_project(self): clean_project_mock() def clean(self, part_names): clean_mock(part_names=part_names) patcher = mock.patch( "snapcraft.internal.build_providers.get_provider_for", return_value=Provider) self.provider = patcher.start() self.addCleanup(patcher.stop) self.clean_project_mock = clean_project_mock self.clean_mock = clean_mock self.make_snapcraft_yaml("pull", base="core")
def setUp(self): super().setUp() self.useFixture( fixtures.EnvironmentVariable("SNAPCRAFT_BUILD_ENVIRONMENT", "multipass")) self.useFixture(fixture_setup.FakeMultipass()) shell_mock = mock.Mock() pack_project_mock = mock.Mock() execute_step_mock = mock.Mock() class Provider(ProviderImpl): def pack_project(self, *, output: Optional[str] = None) -> None: pack_project_mock(output) def execute_step(self, step: steps.Step) -> None: execute_step_mock(step) def shell(self): shell_mock() patcher = mock.patch( "snapcraft.internal.build_providers.get_provider_for", return_value=Provider) self.provider = patcher.start() self.addCleanup(patcher.stop) self.shell_mock = shell_mock self.pack_project_mock = pack_project_mock self.execute_step_mock = execute_step_mock self.make_snapcraft_yaml("pull", base="core")
def setUp(self): super().setUp() self.useFixture( fixtures.EnvironmentVariable("SNAPCRAFT_BUILD_ENVIRONMENT", "multipass")) patcher = mock.patch( "snapcraft.internal.build_providers.get_provider_for", return_value=ProviderImpl, ) self.provider = patcher.start() self.addCleanup(patcher.stop) self.useFixture(fixture_setup.FakeMultipass())
def setUp(self): super().setUp() self.useFixture( fixtures.EnvironmentVariable("SNAPCRAFT_BUILD_ENVIRONMENT", "multipass")) self.useFixture(fixture_setup.FakeMultipass()) mount_prime_mock = mock.Mock(return_value=False) class Provider(ProviderImpl): def _mount_prime_directory(self) -> bool: return mount_prime_mock() patcher = mock.patch( "snapcraft.internal.build_providers.get_provider_for", return_value=Provider) self.provider = patcher.start() self.addCleanup(patcher.stop) self.mount_prime_mock = mount_prime_mock self.make_snapcraft_yaml("pull", base="core")
def setUp(self): super().setUp() self.useFixture( fixtures.EnvironmentVariable("SNAPCRAFT_BUILD_ENVIRONMENT", "multipass")) self.useFixture(fixture_setup.FakeMultipass()) shell_mock = mock.Mock() class Provider(ProviderImpl): def execute_step( self, step: steps.Step, part_names: Optional[Sequence[str]] = None) -> None: if part_names is None: part_names = [] else: part_names = list(part_names) raise ProviderExecError( provider_name="fake", command=["snapcraft", "pull"] + part_names, exit_code=1, ) def shell(self): shell_mock() patcher = mock.patch( "snapcraft.internal.build_providers.get_provider_for", return_value=Provider) self.provider = patcher.start() self.addCleanup(patcher.stop) self.shell_mock = shell_mock self.make_snapcraft_yaml("pull", base="core20")