blob: a2b2a2c56be9291fb6c55ae4035f1524bb1138e6 [file] [log] [blame]
Roger E. Masse2a1c8341997-01-16 16:44:09 +00001#! /usr/bin/env python
Guido van Rossum7b8f1ab1999-10-19 17:48:54 +00002"""Test script for the binhex C module
Roger E. Masse2a1c8341997-01-16 16:44:09 +00003
4 Uses the mechanism of the python binhex module
5 Roger E. Masse
6"""
7import binhex
8import tempfile
Fredrik Lundhf7850422001-01-17 21:51:36 +00009from test_support import verbose, TestSkipped
Roger E. Masse2a1c8341997-01-16 16:44:09 +000010
11def test():
12
13 try:
Guido van Rossum41360a41998-03-26 19:42:58 +000014 fname1 = tempfile.mktemp()
15 fname2 = tempfile.mktemp()
16 f = open(fname1, 'w')
Roger E. Masse2a1c8341997-01-16 16:44:09 +000017 except:
Thomas Woutersb9fa0a82000-08-04 13:34:43 +000018 raise TestSkipped, "Cannot test binhex without a temp file"
Roger E. Masse2a1c8341997-01-16 16:44:09 +000019
20 start = 'Jack is my hero'
21 f.write(start)
22 f.close()
Fred Drake004d5e62000-10-23 17:22:08 +000023
Roger E. Masse2a1c8341997-01-16 16:44:09 +000024 binhex.binhex(fname1, fname2)
25 if verbose:
Guido van Rossum41360a41998-03-26 19:42:58 +000026 print 'binhex'
Roger E. Masse2a1c8341997-01-16 16:44:09 +000027
28 binhex.hexbin(fname2, fname1)
29 if verbose:
Guido van Rossum41360a41998-03-26 19:42:58 +000030 print 'hexbin'
Roger E. Masse2a1c8341997-01-16 16:44:09 +000031
32 f = open(fname1, 'r')
33 finish = f.readline()
Tim Peters8551dd62001-01-17 18:59:46 +000034 f.close() # on Windows an open file cannot be unlinked
Roger E. Masse2a1c8341997-01-16 16:44:09 +000035
Fred Drake132dce22000-12-12 23:11:42 +000036 if start != finish:
37 print 'Error: binhex != hexbin'
Roger E. Masse2a1c8341997-01-16 16:44:09 +000038 elif verbose:
Guido van Rossum41360a41998-03-26 19:42:58 +000039 print 'binhex == hexbin'
Roger E. Masse2a1c8341997-01-16 16:44:09 +000040
Roger E. Masse3b039fa1997-01-16 18:53:01 +000041 try:
Guido van Rossum41360a41998-03-26 19:42:58 +000042 import os
43 os.unlink(fname1)
44 os.unlink(fname2)
Roger E. Masse3b039fa1997-01-16 18:53:01 +000045 except:
Guido van Rossum41360a41998-03-26 19:42:58 +000046 pass
Roger E. Masse2a1c8341997-01-16 16:44:09 +000047test()