tests/test-parseindex2.py
changeset 39027 01966d45b45e
parent 38891 a3dacabd476b
child 39028 087a755310c3
--- a/tests/test-parseindex2.py	Thu Aug 09 12:10:34 2018 -0400
+++ b/tests/test-parseindex2.py	Thu Aug 09 12:58:25 2018 -0400
@@ -8,6 +8,7 @@
 import struct
 import subprocess
 import sys
+import unittest
 
 from mercurial.node import (
     nullid,
@@ -155,8 +156,14 @@
 def makehex(major, minor, micro):
     return int("%x%02x%02x00" % (major, minor, micro), 16)
 
-def runversiontests():
+class parseindex2tests(unittest.TestCase):
+  def testversiondetection(self):
     """Check the version-detection logic when importing parsers."""
+    # Only test the version-detection logic if it is present.
+    try:
+        parsers.versionerrortext
+    except AttributeError:
+        return
     info = sys.version_info
     major, minor, micro = info[0], info[1], info[2]
     # Test same major-minor versions.
@@ -167,15 +174,7 @@
     testversionfail(4, makehex(major, minor + 1, micro))
     testversionfail(5, "'foo'")
 
-def runtest() :
-    # Only test the version-detection logic if it is present.
-    try:
-        parsers.versionerrortext
-    except AttributeError:
-        pass
-    else:
-        runversiontests()
-
+  def testbadargs(self):
     # Check that parse_index2() raises TypeError on bad arguments.
     try:
         parse_index2(0, True)
@@ -184,6 +183,7 @@
     else:
         print("Expected to get TypeError.")
 
+  def testparseindexfile(self):
    # Check parsers.parse_index2() on an index file against the original
    # Python implementation of parseindex, both with and without inlined data.
 
@@ -211,6 +211,7 @@
             # pure version doesn't support this
             break
 
+if __name__ == '__main__':
+    import silenttestrunner
+    silenttestrunner.main(__name__)
     print("done")
-
-runtest()