Convert binhex regression test to PyUnit. We could use a better test
for this.
diff --git a/Lib/test/test_binhex.py b/Lib/test/test_binhex.py
index a2b2a2c..c774200 100755
--- a/Lib/test/test_binhex.py
+++ b/Lib/test/test_binhex.py
@@ -2,46 +2,44 @@
"""Test script for the binhex C module
Uses the mechanism of the python binhex module
- Roger E. Masse
+ Based on an original test by Roger E. Masse.
"""
import binhex
+import os
import tempfile
-from test_support import verbose, TestSkipped
+import test_support
+import unittest
-def test():
- try:
- fname1 = tempfile.mktemp()
- fname2 = tempfile.mktemp()
- f = open(fname1, 'w')
- except:
- raise TestSkipped, "Cannot test binhex without a temp file"
+class BinHexTestCase(unittest.TestCase):
- start = 'Jack is my hero'
- f.write(start)
- f.close()
+ def setUp(self):
+ self.fname1 = tempfile.mktemp()
+ self.fname2 = tempfile.mktemp()
- binhex.binhex(fname1, fname2)
- if verbose:
- print 'binhex'
+ def tearDown(self):
+ try: os.unlink(self.fname1)
+ except OSError: pass
- binhex.hexbin(fname2, fname1)
- if verbose:
- print 'hexbin'
+ try: os.unlink(self.fname2)
+ except OSError: pass
- f = open(fname1, 'r')
- finish = f.readline()
- f.close() # on Windows an open file cannot be unlinked
+ DATA = 'Jack is my hero'
- if start != finish:
- print 'Error: binhex != hexbin'
- elif verbose:
- print 'binhex == hexbin'
+ def test_binhex(self):
+ f = open(self.fname1, 'w')
+ f.write(self.DATA)
+ f.close()
- try:
- import os
- os.unlink(fname1)
- os.unlink(fname2)
- except:
- pass
-test()
+ binhex.binhex(self.fname1, self.fname2)
+
+ binhex.hexbin(self.fname2, self.fname1)
+
+ f = open(self.fname1, 'r')
+ finish = f.readline()
+ f.close()
+
+ self.assertEqual(self.DATA, finish)
+
+
+test_support.run_unittest(BinHexTestCase)