commit:     058613d54790fc164b2a2df266b96a60047a7d13
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 30 21:34:29 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Aug  2 06:31:20 2023 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=058613d5

Respect TMPDIR instead of hardcoding /tmp in test_bintree.py

It was breaking the Portage sandbox.

Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
Closes: https://github.com/gentoo/portage/pull/1071
Signed-off-by: Sam James <sam <AT> gentoo.org>

 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)

Reply via email to