From 058613d54790fc164b2a2df266b96a60047a7d13 Mon Sep 17 00:00:00 2001 From: James Le Cuirot Date: Sun, 30 Jul 2023 22:34:29 +0100 Subject: Respect TMPDIR instead of hardcoding /tmp in test_bintree.py It was breaking the Portage sandbox. Signed-off-by: James Le Cuirot Closes: https://github.com/gentoo/portage/pull/1071 Signed-off-by: Sam James --- lib/portage/tests/dbapi/test_bintree.py | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/lib/portage/tests/dbapi/test_bintree.py b/lib/portage/tests/dbapi/test_bintree.py index 4b4982a54..383d5585e 100644 --- a/lib/portage/tests/dbapi/test_bintree.py +++ b/lib/portage/tests/dbapi/test_bintree.py @@ -17,14 +17,18 @@ class BinarytreeTestCase(TestCase): binarytree() self.assertEqual(str(cm.exception), "pkgdir parameter is required") with self.assertRaises(TypeError) as cm: - binarytree(pkgdir="/tmp") + binarytree(pkgdir=os.getenv("TMPDIR", "/tmp")) self.assertEqual(str(cm.exception), "settings parameter is required") def test_init_with_legacy_params_warns(self): with self.assertWarns(DeprecationWarning): - binarytree(_unused=None, pkgdir="/tmp", settings=MagicMock()) + binarytree( + _unused=None, pkgdir=os.getenv("TMPDIR", "/tmp"), settings=MagicMock() + ) with self.assertWarns(DeprecationWarning): - binarytree(virtual=None, pkgdir="/tmp", settings=MagicMock()) + binarytree( + virtual=None, pkgdir=os.getenv("TMPDIR", "/tmp"), settings=MagicMock() + ) def test_instance_has_required_attrs(self): # Quite smoky test. What would it be a better testing strategy? @@ -63,11 +67,13 @@ class BinarytreeTestCase(TestCase): no_multi_instance_settings = MagicMock() no_multi_instance_settings.features = "" no_multi_instance_bt = binarytree( - pkgdir="/tmp", settings=no_multi_instance_settings + pkgdir=os.getenv("TMPDIR", "/tmp"), settings=no_multi_instance_settings ) multi_instance_settings = MagicMock() multi_instance_settings.features = "binpkg-multi-instance" - multi_instance_bt = binarytree(pkgdir="/tmp", settings=multi_instance_settings) + multi_instance_bt = binarytree( + pkgdir=os.getenv("TMPDIR", "/tmp"), settings=multi_instance_settings + ) for attr in required_attrs_no_multi_instance: getattr(no_multi_instance_bt, attr) getattr(multi_instance_bt, attr) @@ -77,7 +83,7 @@ class BinarytreeTestCase(TestCase): @patch("portage.dbapi.bintree.binarytree._populate_local") def test_populate_without_updates_repos_nor_getbinspkgs(self, ppopulate_local): - bt = binarytree(pkgdir="/tmp", settings=MagicMock()) + bt = binarytree(pkgdir=os.getenv("TMPDIR", "/tmp"), settings=MagicMock()) ppopulate_local.return_value = {} bt.populate() ppopulate_local.assert_called_once_with(reindex=True) @@ -86,7 +92,7 @@ class BinarytreeTestCase(TestCase): @patch("portage.dbapi.bintree.binarytree._populate_local") def test_populate_calls_twice_populate_local_if_updates(self, ppopulate_local): - bt = binarytree(pkgdir="/tmp", settings=MagicMock()) + bt = binarytree(pkgdir=os.getenv("TMPDIR", "/tmp"), settings=MagicMock()) bt.populate() self.assertIn(call(reindex=True), ppopulate_local.mock_calls) self.assertIn(call(), ppopulate_local.mock_calls) @@ -96,7 +102,7 @@ class BinarytreeTestCase(TestCase): @patch("portage.dbapi.bintree.binarytree._populate_local") def test_populate_with_repos(self, ppopulate_local, ppopulate_additional): repos = ("one", "two") - bt = binarytree(pkgdir="/tmp", settings=MagicMock()) + bt = binarytree(pkgdir=os.getenv("TMPDIR", "/tmp"), settings=MagicMock()) bt.populate(add_repos=repos) ppopulate_additional.assert_called_once_with(repos) @@ -109,7 +115,7 @@ class BinarytreeTestCase(TestCase): refresh = "something" settings = MagicMock() settings.__getitem__.return_value = "/some/path" - bt = binarytree(pkgdir="/tmp", settings=settings) + bt = binarytree(pkgdir=os.getenv("TMPDIR", "/tmp"), settings=settings) bt.populate(getbinpkgs=True, getbinpkg_refresh=refresh) ppopulate_remote.assert_called_once_with(getbinpkg_refresh=refresh) @@ -126,7 +132,7 @@ class BinarytreeTestCase(TestCase): settings.__getitem__.return_value = portage_root pBinRepoConfigLoader.return_value = None conf_file = os.path.join(portage_root, BINREPOS_CONF_FILE) - bt = binarytree(pkgdir="/tmp", settings=settings) + bt = binarytree(pkgdir=os.getenv("TMPDIR", "/tmp"), settings=settings) bt.populate(getbinpkgs=True, getbinpkg_refresh=refresh) ppopulate_remote.assert_not_called() pwritemsg.assert_called_once_with( @@ -150,6 +156,6 @@ class BinarytreeTestCase(TestCase): """ settings = MagicMock() settings.__getitem__.return_value = "/some/path" - bt = binarytree(pkgdir="/tmp", settings=settings) + bt = binarytree(pkgdir=os.getenv("TMPDIR", "/tmp"), settings=settings) bt.populate(getbinpkgs=True) ppopulate_remote.assert_called_once_with(getbinpkg_refresh=False) -- cgit v1.2.3-65-gdbad