diff options
author | Guido van Rossum <guido@python.org> | 2000-06-29 19:35:29 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2000-06-29 19:35:29 (GMT) |
commit | 3e06ab1d447442a56af739a906546d8d1998dfdc (patch) | |
tree | 23145a16354b8b2e59932767c6dc9a5b56bb12cf /Lib/dos-8x3/test_bin.py | |
parent | 45cd9de2bb2faa96bb18eb11d20261d7d1b8c20e (diff) | |
download | cpython-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.py | 135 |
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() |