[Python-checkins] CVS: python/dist/src/Lib/test test_fcntl.py,1.17,1.18
Fred L. Drake
fdrake@users.sourceforge.net
Wed, 09 May 2001 14:12:01 -0700
Update of /cvsroot/python/python/dist/src/Lib/test
In directory usw-pr-cvs1:/tmp/cvs-serv25491/test
Modified Files:
test_fcntl.py
Log Message:
Update the tests for the fcntl module to check passing in file objects,
and using the constants defined there instead of FCNTL.
Index: test_fcntl.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/test/test_fcntl.py,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -r1.17 -r1.18
*** test_fcntl.py 2001/04/11 20:58:20 1.17
--- test_fcntl.py 2001/05/09 21:11:59 1.18
***************
*** 5,9 ****
import struct
import fcntl
- import FCNTL
import os, sys
from test_support import verbose, TESTFN
--- 5,8 ----
***************
*** 11,35 ****
filename = TESTFN
- # the example from the library docs
- f = open(filename, 'w')
- rv = fcntl.fcntl(f.fileno(), FCNTL.F_SETFL, os.O_NONBLOCK)
- if verbose:
- print 'Status from fnctl with O_NONBLOCK: ', rv
-
if sys.platform in ('netbsd1', 'Darwin1.2', 'darwin1',
'freebsd2', 'freebsd3', 'freebsd4', 'freebsd5',
'bsdos2', 'bsdos3', 'bsdos4',
'openbsd', 'openbsd2'):
! lockdata = struct.pack('lxxxxlxxxxlhh', 0, 0, 0, FCNTL.F_WRLCK, 0)
elif sys.platform in ['aix3', 'aix4', 'hp-uxB', 'unixware7']:
! lockdata = struct.pack('hhlllii', FCNTL.F_WRLCK, 0, 0, 0, 0, 0, 0)
else:
! lockdata = struct.pack('hhllhh', FCNTL.F_WRLCK, 0, 0, 0, 0, 0)
if verbose:
print 'struct.pack: ', `lockdata`
! rv = fcntl.fcntl(f.fileno(), FCNTL.F_SETLKW, lockdata)
if verbose:
print 'String from fcntl with F_SETLKW: ', `rv`
f.close()
--- 10,45 ----
filename = TESTFN
if sys.platform in ('netbsd1', 'Darwin1.2', 'darwin1',
'freebsd2', 'freebsd3', 'freebsd4', 'freebsd5',
'bsdos2', 'bsdos3', 'bsdos4',
'openbsd', 'openbsd2'):
! lockdata = struct.pack('lxxxxlxxxxlhh', 0, 0, 0, fcntl.F_WRLCK, 0)
elif sys.platform in ['aix3', 'aix4', 'hp-uxB', 'unixware7']:
! lockdata = struct.pack('hhlllii', fcntl.F_WRLCK, 0, 0, 0, 0, 0, 0)
else:
! lockdata = struct.pack('hhllhh', fcntl.F_WRLCK, 0, 0, 0, 0, 0)
if verbose:
print 'struct.pack: ', `lockdata`
+
+
+ # the example from the library docs
+ f = open(filename, 'w')
+ rv = fcntl.fcntl(f.fileno(), fcntl.F_SETFL, os.O_NONBLOCK)
+ if verbose:
+ print 'Status from fnctl with O_NONBLOCK: ', rv
! rv = fcntl.fcntl(f.fileno(), fcntl.F_SETLKW, lockdata)
if verbose:
print 'String from fcntl with F_SETLKW: ', `rv`
+
+ f.close()
+ os.unlink(filename)
+
+
+ # Again, but pass the file rather than numeric descriptor:
+ f = open(filename, 'w')
+ rv = fcntl.fcntl(f, fcntl.F_SETFL, os.O_NONBLOCK)
+
+ rv = fcntl.fcntl(f, fcntl.F_SETLKW, lockdata)
f.close()