From f0d0f57a596b178642d3388135e0f6dd7a276b26 Mon Sep 17 00:00:00 2001 From: Ondrej Nosek Date: Apr 02 2019 07:34:51 +0000 Subject: Pass --disablerepo and --enablerepo to mock Mockbuild: pass arguments '--disablerepo' and '--enablerepo' to 'mock' command. Both arguments can be used multiple times. JIRA: COMPOSE-3367 Fixes: https://pagure.io/fedpkg/issue/313 Signed-off-by: Ondrej Nosek --- diff --git a/pyrpkg/cli.py b/pyrpkg/cli.py index 6fdd171..89a8df4 100644 --- a/pyrpkg/cli.py +++ b/pyrpkg/cli.py @@ -1069,6 +1069,12 @@ defined, packages will be built sequentially.""" % {'name': self.name}) help='Run commands interactively within chroot. Before going into' ' chroot, mockbuild needs to run with --no-cleanup-after ' 'in advanced.') + mockbuild_parser.add_argument( + '--enablerepo', action='append', + help='Pass enablerepo option to yum/dnf (may be used more than once)') + mockbuild_parser.add_argument( + '--disablerepo', action='append', + help='Pass disablerepo option to yum/dnf (may be used more than once)') mockbuild_parser.set_defaults(command=self.mockbuild) def register_mock_config(self): @@ -1988,6 +1994,14 @@ see API KEY section of copr-cli(1) man page. for arg in self.args.bcond_without: mockargs.extend(['--without', arg]) + if self.args.enablerepo: + for repo_value in self.args.enablerepo: + mockargs.extend(['--enablerepo', repo_value]) + + if self.args.disablerepo: + for repo_value in self.args.disablerepo: + mockargs.extend(['--disablerepo', repo_value]) + # Pick up any mockargs from the env try: mockargs += os.environ['MOCKARGS'].split() diff --git a/tests/test_cli.py b/tests/test_cli.py index 6d5599d..93b3a2e 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -1445,10 +1445,15 @@ class TestMockbuild(CliTestCase): def test_mockbuild(self): cli_cmd = ['rpkg', '--path', self.cloned_repo_path, '--release', 'rhel-6', 'mockbuild', - '--root', '/etc/mock/some-root'] + '--root', '/etc/mock/some-root', + '--enablerepo', 'FAVOURITE_REPO', '--disablerepo', 'UNWANTED_REPO', + '--enablerepo', 'ANOTHER_FAVOURITE_REPO'] cli = self.mockbuild(cli_cmd) - expected_cmd = ['mock', '-r', '/etc/mock/some-root', + expected_cmd = ['mock', '--enablerepo', 'FAVOURITE_REPO', + '--enablerepo', 'ANOTHER_FAVOURITE_REPO', + '--disablerepo', 'UNWANTED_REPO', + '-r', '/etc/mock/some-root', '--resultdir', cli.cmd.mock_results_dir, '--rebuild', cli.cmd.srpmname] self.mock_run_command.assert_called_with(expected_cmd)