[pypy-svn] r58265 - in pypy/branch/cross-compilation/pypy: rlib translator/tool/test

fijal at codespeak.net fijal at codespeak.net
Sat Sep 20 14:19:45 CEST 2008


Author: fijal
Date: Sat Sep 20 14:19:43 2008
New Revision: 58265

Modified:
   pypy/branch/cross-compilation/pypy/rlib/pyplatform.py
   pypy/branch/cross-compilation/pypy/translator/tool/test/test_cbuild.py
Log:
Fix equality and a test


Modified: pypy/branch/cross-compilation/pypy/rlib/pyplatform.py
==============================================================================
--- pypy/branch/cross-compilation/pypy/rlib/pyplatform.py	(original)
+++ pypy/branch/cross-compilation/pypy/rlib/pyplatform.py	Sat Sep 20 14:19:43 2008
@@ -21,7 +21,8 @@
         return not self == other
 
     def __eq__(self, other):
-        return self.__class__.__name__ == other.__class__.__name__
+        return (self.__class__ is other.__class__ and
+                self.__dict__ == other.__dict__)
 
 class Maemo(Platform):
     def get_compiler(self):

Modified: pypy/branch/cross-compilation/pypy/translator/tool/test/test_cbuild.py
==============================================================================
--- pypy/branch/cross-compilation/pypy/translator/tool/test/test_cbuild.py	(original)
+++ pypy/branch/cross-compilation/pypy/translator/tool/test/test_cbuild.py	Sat Sep 20 14:19:43 2008
@@ -188,6 +188,18 @@
             py.test.fail("Did not raise")
         assert eci.platform.execute() == 3
 
+    def test_platform_equality(self):
+        from pypy.rlib.pyplatform import Platform
+        class X(Platform):
+            pass
+        class Y(Platform):
+            def __init__(self, x):
+                self.x = x
+
+        assert X() == X()
+        assert Y(3) == Y(3)
+        assert Y(2) != Y(3)
+
     def test_standalone_maemo(self):
         from pypy.rlib.pyplatform import Maemo
         # XXX skip if there is no scratchbox



More information about the Pypy-commit mailing list