From f55d88f94bfdd80efaf3c1fefe0f6009a3f9f115 Mon Sep 17 00:00:00 2001 From: Wendy Wang Date: Thu, 13 Oct 2022 10:54:49 +0200 Subject: [PATCH 1/2] Remove library (unix only, breaks on windows) Wasn't being used in the code any more anyway (oops) --- evennia/contrib/utils/git_integration/git_integration.py | 1 - 1 file changed, 1 deletion(-) diff --git a/evennia/contrib/utils/git_integration/git_integration.py b/evennia/contrib/utils/git_integration/git_integration.py index 3cbde3f00b..17bdd0abd2 100644 --- a/evennia/contrib/utils/git_integration/git_integration.py +++ b/evennia/contrib/utils/git_integration/git_integration.py @@ -1,4 +1,3 @@ -from resource import error from django.conf import settings from evennia import CmdSet, InterruptCommand from evennia.utils.utils import list_to_string From f1e8ff596553133ce272193b3ed9fc26ba9191e9 Mon Sep 17 00:00:00 2001 From: Griatch Date: Thu, 13 Oct 2022 18:59:44 +0200 Subject: [PATCH 2/2] Fix regression caused by fixing the search_typeclass manager method --- evennia/typeclasses/managers.py | 4 ++++ evennia/typeclasses/tests.py | 4 ++-- evennia/utils/tests/test_search.py | 14 +++++++------- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/evennia/typeclasses/managers.py b/evennia/typeclasses/managers.py index a130a6decf..c3902275f0 100644 --- a/evennia/typeclasses/managers.py +++ b/evennia/typeclasses/managers.py @@ -553,6 +553,10 @@ class TypedObjectManager(idmapper.manager.SharedMemoryManager): Returns: objects (list): The objects found with the given typeclasses. + Raises: + ImportError: If the provided `typeclass` is not a valid typeclass or the + path to an existing typeclass. + """ if not callable(typeclass): typeclass = class_from_module(typeclass) diff --git a/evennia/typeclasses/tests.py b/evennia/typeclasses/tests.py index c28112f128..04e37a28c2 100644 --- a/evennia/typeclasses/tests.py +++ b/evennia/typeclasses/tests.py @@ -245,8 +245,8 @@ class TestSearchTypeclassFamily(EvenniaTestCase): res2 = self.obj1.__class__.objects.typeclass_search( "evennia.typeclasses.tests.TestSearchManagerTypeclass" ) - self.assertEqual(list(res1), [self.obj1, self.obj2]) - self.assertEqual(list(res2), [self.obj1, self.obj2]) + self.assertEqual(set(res1), {self.obj1, self.obj2}) + self.assertEqual(set(res2), {self.obj1, self.obj2}) def test_typeclass_search__children_and_parents(self): """Test getting parents/child classes""" diff --git a/evennia/utils/tests/test_search.py b/evennia/utils/tests/test_search.py index 7bb7b4b97b..d3f4a2c00b 100644 --- a/evennia/utils/tests/test_search.py +++ b/evennia/utils/tests/test_search.py @@ -1,13 +1,13 @@ -from evennia.scripts.scripts import DefaultScript -from evennia.utils.test_resources import EvenniaTest from evennia import DefaultObject, DefaultRoom from evennia.objects.models import ObjectDB +from evennia.scripts.scripts import DefaultScript from evennia.utils.search import ( + search_script, search_script_attribute, search_script_tag, - search_script, search_typeclass, ) +from evennia.utils.test_resources import EvenniaTest class TestSearch(EvenniaTest): @@ -71,12 +71,12 @@ class TestSearch(EvenniaTest): def test_search_typeclass(self): """Check that an object can be found by typeclass""" - obj = DefaultObject.create("test_obj") + DefaultObject.create("test_obj") found = search_typeclass("evennia.objects.objects.DefaultObject") self.assertEqual(len(found), 1) def test_search_wrong_typeclass(self): """Check that an object cannot be found by wrong typeclass""" - obj = DefaultObject.create("test_obj_2") - found = search_typeclass("not.a.typeclass") - self.assertEqual(len(found), 0) + DefaultObject.create("test_obj_2") + with self.assertRaises(ImportError): + search_typeclass("not.a.typeclass")