diff mbox series

[1/8] COW: Fix hardcoded magic numbers and work with python 3.13

Message ID 20241008123627.252307-1-richard.purdie@linuxfoundation.org
State Accepted, archived
Commit 2e6608cec508b3b9bab3530f83e70665ff638182
Headers show
Series [1/8] COW: Fix hardcoded magic numbers and work with python 3.13 | expand

Commit Message

Richard Purdie Oct. 8, 2024, 12:36 p.m. UTC
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(-)
diff mbox series

Patch

diff --git a/lib/bb/COW.py b/lib/bb/COW.py
index 76bc08a3ea..4af03c54ad 100644
--- a/lib/bb/COW.py
+++ b/lib/bb/COW.py
@@ -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__