summaryrefslogtreecommitdiffstats
path: root/Lib/dos-8x3/test_bin.py
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>2000-06-29 19:35:29 (GMT)
committerGuido van Rossum <guido@python.org>2000-06-29 19:35:29 (GMT)
commit3e06ab1d447442a56af739a906546d8d1998dfdc (patch)
tree23145a16354b8b2e59932767c6dc9a5b56bb12cf /Lib/dos-8x3/test_bin.py
parent45cd9de2bb2faa96bb18eb11d20261d7d1b8c20e (diff)
downloadcpython-3e06ab1d447442a56af739a906546d8d1998dfdc.zip
cpython-3e06ab1d447442a56af739a906546d8d1998dfdc.tar.gz
cpython-3e06ab1d447442a56af739a906546d8d1998dfdc.tar.bz2
The usual :)
Diffstat (limited to 'Lib/dos-8x3/test_bin.py')
-rw-r--r--Lib/dos-8x3/test_bin.py135
1 files changed, 44 insertions, 91 deletions
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__
-
-# Show module exceptions
-print binascii.Error
-print binascii.Incomplete
-
-# 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__)
-
-# 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"
-
-# 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
-
-# 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
-
-# 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
+def test():
+
+ try:
+ fname1 = tempfile.mktemp()
+ fname2 = tempfile.mktemp()
+ f = open(fname1, 'w')
+ except:
+ raise ImportError, "Cannot test binhex without a temp file"
+
+ start = 'Jack is my hero'
+ f.write(start)
+ f.close()
+
+ binhex.binhex(fname1, fname2)
+ if verbose:
+ print 'binhex'
+
+ binhex.hexbin(fname2, fname1)
+ if verbose:
+ print 'hexbin'
+
+ f = open(fname1, 'r')
+ finish = f.readline()
+
+ if start <> finish:
+ print 'Error: binhex <> hexbin'
+ elif verbose:
+ print 'binhex == hexbin'
+
+ try:
+ import os
+ os.unlink(fname1)
+ os.unlink(fname2)
+ except:
+ pass
+test()