]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
use a lot more random names
authorMike Bayer <mike_mp@zzzcomputing.com>
Thu, 27 Apr 2023 13:49:07 +0000 (09:49 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Thu, 27 Apr 2023 13:50:56 +0000 (09:50 -0400)
very small number of tiny names generated by
random_names() could cause _ordered_name_fixture() to
run out of names.

Fixes: #9706
Change-Id: I3df00c9cf99e76fe82eb535c7fe589b73b10cd67

test/orm/test_inspect.py

index 6ae0d1d3ffdbab881ddaaed537b259caa9520546..ab2e5ae3add80f672e16763111e4ad94e210b7d8 100644 (file)
@@ -440,14 +440,16 @@ class TestORMInspection(_fixtures.FixtureTest):
         import random
         import keyword
 
-        names = {
-            "".join(
-                random.choice("abcdegfghijklmnopqrstuvwxyz")
-                for i in range(random.randint(3, 15))
-            )
-            for j in range(random.randint(4, 12))
-        }
-        return list(names.difference(keyword.kwlist))
+        def _random_name():
+            while True:
+                name = "".join(
+                    random.choice("abcdegfghijklmnopqrstuvwxyz")
+                    for i in range(random.randint(5, 15))
+                )
+                if name not in keyword.kwlist:
+                    return name
+
+        return [_random_name() for i in range(random.randint(8, 15))]
 
     def _ordered_name_fixture(self, glbls, clsname, base, supercls):