From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 1423C158089 for ; Mon, 30 Oct 2023 03:14:38 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 309EE2BC04A; Mon, 30 Oct 2023 03:14:34 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 126E82BC048 for ; Mon, 30 Oct 2023 03:14:34 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 188FC335C52 for ; Mon, 30 Oct 2023 03:14:33 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 8B5E81305 for ; Mon, 30 Oct 2023 03:14:29 +0000 (UTC) From: "Sam James" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" Message-ID: <1698635664.f539a071895d51aab15f8ae359150d8c638de0f9.sam@gentoo> Subject: [gentoo-commits] proj/portage:master commit in: lib/portage/tests/emerge/ X-VCS-Repository: proj/portage X-VCS-Files: lib/portage/tests/emerge/conftest.py X-VCS-Directories: lib/portage/tests/emerge/ X-VCS-Committer: sam X-VCS-Committer-Name: Sam James X-VCS-Revision: f539a071895d51aab15f8ae359150d8c638de0f9 X-VCS-Branch: master Date: Mon, 30 Oct 2023 03:14:29 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: cc3df614-028d-40e0-8de5-8cff2704b631 X-Archives-Hash: 7b6e4e1a40101a3457122b38bc8e440d commit: f539a071895d51aab15f8ae359150d8c638de0f9 Author: David Palao gmail com> AuthorDate: Fri Sep 29 15:58:15 2023 +0000 Commit: Sam James gentoo org> CommitDate: Mon Oct 30 03:14:24 2023 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=f539a071 tests/emerge/conftest.py: Add PortageCommandSequence Add PortageCommandSequence. Some commands must run in sequence to test some functionality of portage. This class has been added to chain commands within a test. Signed-off-by: David Palao gmail.com> Signed-off-by: Sam James gentoo.org> lib/portage/tests/emerge/conftest.py | 124 +++++++++++++++++------------------ 1 file changed, 62 insertions(+), 62 deletions(-) diff --git a/lib/portage/tests/emerge/conftest.py b/lib/portage/tests/emerge/conftest.py index 43fde441fd..27cca5e077 100644 --- a/lib/portage/tests/emerge/conftest.py +++ b/lib/portage/tests/emerge/conftest.py @@ -203,24 +203,27 @@ _BASELINE_COMMAND_SEQUENCE = [ "emerge --info --verbose", "emerge --list-sets", "emerge --check-news", - # "rm -rf {cachedir}", - # "rm -rf {cachedir_pregen}", - "emerge --regen", - # "rm -rf {cachedir}", - "FEATURES=metadata-transfer emerge --regen", - # "rm -rf {cachedir}", - "FEATURES=metadata-transfer emerge --regen", # is this second test case needed? - # "rm -rf {cachedir}", - "egencache --update", - "FEATURES=metadata-transfer emerge --metadata", - # "rm -rf {cachedir}", - "FEATURES=metadata-transfer emerge --metadata (2)", - "emerge --metadata", - # "rm -rf {cachedir}", - "emerge --oneshot virtual/foo", - # "foo pkg missing", - "FEATURES=unmerge-backup emerge --unmerge virtual/foo", - # "foo pkg exists", + # + # # "rm -rf {cachedir}", + # # "rm -rf {cachedir_pregen}", + # "emerge --regen", + # # "rm -rf {cachedir}", + # "FEATURES=metadata-transfer emerge --regen", + # # "rm -rf {cachedir}", + # "FEATURES=metadata-transfer emerge --regen", # is this second test case needed? + # # "rm -rf {cachedir}", + # "egencache --update", + # "FEATURES=metadata-transfer emerge --metadata", + # # "rm -rf {cachedir}", + # "FEATURES=metadata-transfer emerge --metadata (2)", + # "emerge --metadata", + # # "rm -rf {cachedir}", + # "emerge --oneshot virtual/foo", + # # "foo pkg missing", + # "FEATURES=unmerge-backup emerge --unmerge virtual/foo", + # # "foo pkg exists", + "emerge --regen/--metadata", + # "emerge --pretend dev-libs/A", "ebuild dev-libs/A-1 manifest clean package merge", "emerge --pretend --tree --complete-graph dev-libs/A", @@ -340,6 +343,14 @@ class PortageCommand: self.post_command() +class PortageCommandSequence: + def __init__(self, *commands): + self.commands = commands + + def __iter__(self): + yield from self.commands + + class Emerge(PortageCommand): name = "emerge" command = (PORTAGE_PYTHON, "-b", "-Wd", os.path.join(cnf_bindir, name)) @@ -621,50 +632,39 @@ def _generate_all_baseline_commands(playground, binhost): _rm_cachedir() shutil.rmtree(cachedir_pregen) - test_commands["emerge --regen"] = Emerge( - "--regen", preparation=_rm_cachedir_and_pregen - ) - - test_commands["FEATURES=metadata-transfer emerge --regen"] = Emerge( - "--regen", env_mod={"FEATURES": "metadata-transfer"}, preparation=_rm_cachedir - ) - - test_commands["egencache --update"] = Egencache( - "--repo", - "test_repo", - "--repositories-configuration", - playground.settings.repositories.config_string(), - "--update", - *egencache_extra_args, - preparation=_rm_cachedir, - ) - - test_commands["FEATURES=metadata-transfer emerge --metadata"] = Emerge( - "--metadata", env_mod={"FEATURES": "metadata-transfer"} - ) - - test_commands["FEATURES=metadata-transfer emerge --metadata (2)"] = Emerge( - "--metadata", - env_mod={"FEATURES": "metadata-transfer"}, - preparation=_rm_cachedir, - ) - - test_commands["emerge --metadata"] = Emerge("--metadata") - - test_commands["emerge --oneshot virtual/foo"] = Emerge( - "--oneshot", "virtual/foo", preparation=_rm_cachedir - ) - - # test_commands["foo pkg missing"] = lambda: _check_foo_file( - # pkgdir, foo_filename, must_exist=False - # ) - - test_commands["FEATURES=unmerge-backup emerge --unmerge virtual/foo"] = Emerge( - "--unmerge", - "virtual/foo", - env_mod={"FEATURES": "unmerge-backup"}, - preparation=lambda: _check_foo_file(pkgdir, foo_filename, must_exist=False), - ) + regen_seq = [ + Emerge("--regen", preparation=_rm_cachedir_and_pregen), + Emerge( + "--regen", + env_mod={"FEATURES": "metadata-transfer"}, + preparation=_rm_cachedir, + ), + Egencache( + "--repo", + "test_repo", + "--repositories-configuration", + playground.settings.repositories.config_string(), + "--update", + *egencache_extra_args, + preparation=_rm_cachedir, + ), + Emerge("--metadata", env_mod={"FEATURES": "metadata-transfer"}), + Emerge( + "--metadata", + env_mod={"FEATURES": "metadata-transfer"}, + preparation=_rm_cachedir, + ), + Emerge("--metadata"), + Emerge("--oneshot", "virtual/foo", preparation=_rm_cachedir), + Emerge( + "--unmerge", + "virtual/foo", + env_mod={"FEATURES": "unmerge-backup"}, + preparation=lambda: _check_foo_file(pkgdir, foo_filename, must_exist=False), + ), + ] + test_commands["emerge --regen/--metadata"] = PortageCommandSequence(*regen_seq) + # Assuming that the sequence ends here! # test_commands["foo pkg exists"] = lambda: _check_foo_file( # pkgdir, foo_filename, must_exist=True