summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_fcntl.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_fcntl.py')
-rwxr-xr-xLib/test/test_fcntl.py19
1 files changed, 12 insertions, 7 deletions
diff --git a/Lib/test/test_fcntl.py b/Lib/test/test_fcntl.py
index 1cb62b5..163b7cd 100755
--- a/Lib/test/test_fcntl.py
+++ b/Lib/test/test_fcntl.py
@@ -1,5 +1,6 @@
#! /usr/bin/env python
"""Test program for the fcntl C module.
+ OS/2+EMX doesn't support the file locking operations.
Roger E. Masse
"""
import struct
@@ -23,11 +24,13 @@ if sys.platform in ('netbsd1', 'Darwin1.2', 'darwin',
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)
+elif sys.platform in ['os2emx']:
+ lockdata = None
else:
lockdata = struct.pack('hh'+start_len+'hh', fcntl.F_WRLCK, 0, 0, 0, 0, 0)
-if verbose:
- print 'struct.pack: ', `lockdata`
-
+if lockdata:
+ if verbose:
+ print 'struct.pack: ', `lockdata`
# the example from the library docs
f = open(filename, 'w')
@@ -35,9 +38,10 @@ 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`
+if sys.platform not in ['os2emx']:
+ rv = fcntl.fcntl(f.fileno(), fcntl.F_SETLKW, lockdata)
+ if verbose:
+ print 'String from fcntl with F_SETLKW: ', `rv`
f.close()
os.unlink(filename)
@@ -47,7 +51,8 @@ os.unlink(filename)
f = open(filename, 'w')
rv = fcntl.fcntl(f, fcntl.F_SETFL, os.O_NONBLOCK)
-rv = fcntl.fcntl(f, fcntl.F_SETLKW, lockdata)
+if sys.platform not in ['os2emx']:
+ rv = fcntl.fcntl(f, fcntl.F_SETLKW, lockdata)
f.close()
os.unlink(filename)