]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Revert r77732 and add back verify and vereq in case other projects use them, but...
authorEzio Melotti <ezio.melotti@gmail.com>
Mon, 25 Jan 2010 12:20:04 +0000 (12:20 +0000)
committerEzio Melotti <ezio.melotti@gmail.com>
Mon, 25 Jan 2010 12:20:04 +0000 (12:20 +0000)
Lib/test/support.py

index fc9a61a75947833a4492fd415b8fb465053ff9c9..18fb3919e2de23bf3e46e004ce3051baed0302eb 100644 (file)
@@ -21,8 +21,8 @@ __all__ = ["Error", "TestFailed", "ResourceDenied", "import_module",
            "verbose", "use_resources", "max_memuse", "record_original_stdout",
            "get_original_stdout", "unload", "unlink", "rmtree", "forget",
            "is_resource_enabled", "requires", "find_unused_port", "bind_port",
-           "fcmp", "is_jython", "TESTFN", "HOST", "FUZZ", "findfile",
-           "sortdict", "check_syntax_error", "open_urlresource",
+           "fcmp", "is_jython", "TESTFN", "HOST", "FUZZ", "findfile", "verify",
+           "vereq", "sortdict", "check_syntax_error", "open_urlresource",
            "check_warnings", "CleanImport", "EnvironmentVarGuard",
            "TransientResource", "captured_output", "captured_stdout",
            "time_out", "socket_peer_reset", "ioerror_peer_reset",
@@ -396,6 +396,30 @@ def findfile(file, here=__file__):
         if os.path.exists(fn): return fn
     return file
 
+def verify(condition, reason='test failed'):
+    """Verify that condition is true. If not, raise TestFailed.
+
+       The optional argument reason can be given to provide
+       a better error text.
+    """
+
+    if not condition:
+        raise TestFailed(reason)
+
+def vereq(a, b):
+    """Raise TestFailed if a == b is false.
+
+    This is better than verify(a == b) because, in case of failure, the
+    error message incorporates repr(a) and repr(b) so you can see the
+    inputs.
+
+    Note that "not (a == b)" isn't necessarily the same as "a != b"; the
+    former is tested.
+    """
+
+    if not (a == b):
+        raise TestFailed("%r == %r" % (a, b))
+
 def sortdict(dict):
     "Like repr(dict), but in sorted order."
     items = sorted(dict.items())