The usual :)
diff --git a/Lib/dos-8x3/test_bin.py b/Lib/dos-8x3/test_bin.py
index 28908ef..534fa73 100644
--- a/Lib/dos-8x3/test_bin.py
+++ b/Lib/dos-8x3/test_bin.py
@@ -1,93 +1,46 @@
-"""Test the binascii C module."""
+#! /usr/bin/env python
+"""Test script for the binhex C module
 
+   Uses the mechanism of the python binhex module
+   Roger E. Masse
+"""
+import binhex
+import tempfile
 from test_support import verbose
-import binascii
 
-# Show module doc string
-print binascii.__doc__
+def test():
 
-# Show module exceptions
-print binascii.Error
-print binascii.Incomplete
+    try:
+        fname1 = tempfile.mktemp()
+        fname2 = tempfile.mktemp()
+        f = open(fname1, 'w')
+    except:
+        raise ImportError, "Cannot test binhex without a temp file"
 
-# Check presence and display doc strings of all functions
-funcs = []
-for suffix in "base64", "hqx", "uu":
-    prefixes = ["a2b_", "b2a_"]
-    if suffix == "hqx":
-        prefixes.extend(["crc_", "rlecode_", "rledecode_"])
-    for prefix in prefixes:
-        name = prefix + suffix
-        funcs.append(getattr(binascii, name))
-for func in funcs:
-    print "%-15s: %s" % (func.__name__, func.__doc__)
+    start = 'Jack is my hero'
+    f.write(start)
+    f.close()
+    
+    binhex.binhex(fname1, fname2)
+    if verbose:
+        print 'binhex'
 
-# Create binary test data
-testdata = "The quick brown fox jumps over the lazy dog.\r\n"
-for i in range(256):
-    # Be slow so we don't depend on other modules
-    testdata = testdata + chr(i)
-testdata = testdata + "\r\nHello world.\n"
+    binhex.hexbin(fname2, fname1)
+    if verbose:
+        print 'hexbin'
 
-# Test base64 with valid data
-print "base64 test"
-MAX_BASE64 = 57
-lines = []
-for i in range(0, len(testdata), MAX_BASE64):
-    b = testdata[i:i+MAX_BASE64]
-    a = binascii.b2a_base64(b)
-    lines.append(a)
-    print a,
-res = ""
-for line in lines:
-    b = binascii.a2b_base64(line)
-    res = res + b
-assert res == testdata
+    f = open(fname1, 'r')
+    finish = f.readline()
 
-# Test base64 with random invalid characters sprinkled throughout
-# (This requires a new version of binascii.)
-fillers = ""
-valid = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/"
-for i in range(256):
-    c = chr(i)
-    if c not in valid:
-        fillers = fillers + c
-def addnoise(line):
-    noise = fillers
-    ratio = len(line) / len(noise)
-    res = ""
-    while line and noise:
-        if len(line) / len(noise) > ratio:
-            c, line = line[0], line[1:]
-        else:
-            c, noise = noise[0], noise[1:]
-        res = res + c
-    return res + noise + line
-res = ""
-for line in map(addnoise, lines):
-    b = binascii.a2b_base64(line)
-    res = res + b
-assert res == testdata
+    if start <> finish:
+        print 'Error: binhex <> hexbin'
+    elif verbose:
+        print 'binhex == hexbin'
 
-# Test uu
-print "uu test"
-MAX_UU = 45
-lines = []
-for i in range(0, len(testdata), MAX_UU):
-    b = testdata[i:i+MAX_UU]
-    a = binascii.b2a_uu(b)
-    lines.append(a)
-    print a,
-res = ""
-for line in lines:
-    b = binascii.a2b_uu(line)
-    res = res + b
-assert res == testdata
-
-# Test crc32()
-crc = binascii.crc32("Test the CRC-32 of")
-crc = binascii.crc32(" this string.", crc)
-if crc != 1571220330:
-    print "binascii.crc32() failed."
-
-# The hqx test is in test_binhex.py
+    try:
+        import os
+        os.unlink(fname1)
+        os.unlink(fname2)
+    except:
+        pass
+test()