@@ -36,8 +36,9 @@ class COWDictMeta(COWMeta):
__marker__ = tuple()
def __str__(cls):
- # FIXME: I have magic numbers!
- return "<COWDict Level: %i Current Keys: %i>" % (cls.__count__, len(cls.__dict__) - 3)
+ ignored_keys = set(["__count__", "__doc__", "__module__", "__firstlineno__", "__static_attributes__"])
+ keys = set(cls.__dict__.keys()) - ignored_keys
+ return "<COWDict Level: %i Current Keys: %i>" % (cls.__count__, len(keys))
__repr__ = __str__
@@ -161,8 +162,9 @@ class COWDictMeta(COWMeta):
class COWSetMeta(COWDictMeta):
def __str__(cls):
- # FIXME: I have magic numbers!
- return "<COWSet Level: %i Current Keys: %i>" % (cls.__count__, len(cls.__dict__) - 3)
+ ignored_keys = set(["__count__", "__doc__", "__module__", "__firstlineno__", "__static_attributes__"])
+ keys = set(cls.__dict__.keys()) - ignored_keys
+ return "<COWSet Level: %i Current Keys: %i>" % (cls.__count__, len(keys))
__repr__ = __str__
The COW tests started failing on python 3.13. Looks like it is time to fix the FIXME and drop the magic numbers! Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> --- lib/bb/COW.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)