]> granicus.if.org Git - python/commitdiff
Revert r77730 and add back verify and vereq in case other projects use them, but...
authorEzio Melotti <ezio.melotti@gmail.com>
Mon, 25 Jan 2010 12:13:02 +0000 (12:13 +0000)
committerEzio Melotti <ezio.melotti@gmail.com>
Mon, 25 Jan 2010 12:13:02 +0000 (12:13 +0000)
Lib/test/test_support.py

index 71b187af3e9e3db24786978531b0e06bbd0e02a7..d4b891e2e40ff92f0eda98fcb22458773a929c00 100644 (file)
@@ -17,7 +17,7 @@ __all__ = ["Error", "TestFailed", "TestSkipped", "ResourceDenied", "import_modul
            "get_original_stdout", "unload", "unlink", "rmtree", "forget",
            "is_resource_enabled", "requires", "find_unused_port", "bind_port",
            "fcmp", "have_unicode", "is_jython", "TESTFN", "HOST", "FUZZ",
-           "findfile", "sortdict", "check_syntax_error",
+           "findfile", "verify", "vereq", "sortdict", "check_syntax_error",
            "open_urlresource", "check_warnings", "CleanImport",
            "EnvironmentVarGuard", "captured_output",
            "captured_stdout", "TransientResource", "transient_internet",
@@ -325,6 +325,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 = dict.items()