with self.assertRaises(TypeError):
_suggestions._generate_suggestions(MyList(), "")
+ def test_no_site_package_flavour(self):
+ code = """import boo"""
+ _, _, stderr = assert_python_failure('-S', '-c', code)
+ self.assertIn(
+ (b"Site initialization is disabled, did you forget to "
+ b"add the site-packages directory to sys.path?"), stderr
+ )
+
+ code = """
+ import sys
+ sys.stdlib_module_names = sys.stdlib_module_names + ("boo",)
+ import boo
+ """
+ _, _, stderr = assert_python_failure('-S', '-c', code)
+
+ self.assertNotIn(
+ (b"Site initialization is disabled, did you forget to "
+ b"add the site-packages directory to sys.path?"), stderr
+ )
class TestColorizedTraceback(unittest.TestCase):
suggestion = _compute_suggestion_error(exc_value, exc_traceback, wrong_name)
if suggestion:
self._str += f". Did you mean: '{suggestion}'?"
+ elif exc_type and issubclass(exc_type, ModuleNotFoundError) and \
+ sys.flags.no_site and \
+ getattr(exc_value, "name", None) not in sys.stdlib_module_names:
+ self._str += (". Site initialization is disabled, did you forget to "
+ + "add the site-packages directory to sys.path?")
elif exc_type and issubclass(exc_type, (NameError, AttributeError)) and \
getattr(exc_value, "name", None) is not None:
wrong_name = getattr(exc_value, "name", None)