--- a/salttesting/unit.py	2013-10-24 10:57:42.000000000 +0000
+++ b/salttesting/unit.py	2013-11-12 18:47:11.245838201 +0000
@@ -42,10 +42,10 @@
 class TestCase(_TestCase):
 
     def assertEquals(self, *args, **kwargs):
-        raise DeprecationWarning(
-            'The {0}() function is deprecated. Please start using {1}() '
-            'instead.'.format('assertEquals', 'assertEqual')
-        )
+        #raise DeprecationWarning(
+        #    'The {0}() function is deprecated. Please start using {1}() '
+        #    'instead.'.format('assertEquals', 'assertEqual')
+        #)
         return _TestCase.assertEquals(self, *args, **kwargs)
 
     def failUnlessEqual(self, *args, **kwargs):
