[Python-bugs-list] [ python-Bugs-777867 ] test_ioctl fails

SourceForge.net noreply@sourceforge.net
Mon, 28 Jul 2003 08:06:21 -0700


Bugs item #777867, was opened at 2003-07-26 00:25
Message generated for change (Comment added) made by mwh
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=777867&group_id=5470

Category: None
Group: Python 2.3
Status: Open
Resolution: None
Priority: 5
Submitted By: Zooko O'Whielacronx (zooko)
Assigned to: Nobody/Anonymous (nobody)
Summary: test_ioctl fails

Initial Comment:
test_ioctl
test test_ioctl failed -- errors occurred in
test.test_ioctl.IoctlTests

...
223 tests OK.
1 test failed:
    test_ioctl
31 tests skipped:
    test_aepack test_al test_bsddb185 test_bsddb3
test_bz2 test_cd
    test_cl test_curses test_dbm test_email_codecs
test_gdbm test_gl
    test_imgfile test_linuxaudiodev test_locale test_macfs
    test_macostools test_nis test_normalization
test_ossaudiodev
    test_pep277 test_plistlib test_scriptpackages
test_socket_ssl
    test_socketserver test_sunaudiodev test_timeout
test_unicode_file
    test_urllibnet test_winreg test_winsound
4 skips unexpected on linux2:
    test_dbm test_bz2 test_gdbm test_locale
make: *** [test] Error 1


My system:
 * Python from CVS: Python 2.3c1 (#1, Jul 23 2003,
08:31:24) 
 * Debian testing/unstable
 * Linux pion 2.4.21 #1 Sat Jul 19 10:21:24 EDT 2003
i686 unknown unknown GNU/Linux
 * gcc (GCC) 3.3.1 20030626 (Debian prerelease)
 * AMD Athlon XP 1600+


----------------------------------------------------------------------

>Comment By: Michael Hudson (mwh)
Date: 2003-07-28 16:06

Message:
Logged In: YES 
user_id=6656

Heh, yes it certainly would be easier if I (or anyone else) could 
reproduce this.  However, this is the first I've heard of it, and I'd 
have thought/hoped that there are other people running the 
release candidates on Debian testing... glibc is very much a guess 
scapegoat, don't jeopardize your system just for me.

I suggested the '-r' thing because it's the sort of thing that can be 
done in the background.

----------------------------------------------------------------------

Comment By: Zooko O'Whielacronx (zooko)
Date: 2003-07-28 16:00

Message:
Logged In: YES 
user_id=52562

It's always possible that I'm doing something very silly and
not reporting it.  But, as I am pressed for time, it would
be really good if you could get a failure like this running
on your own box.  Hm.  Maybe this means I should just
upgrade my glibc.

MAIN pion:~$ dpkg --status libc6 | grep ^Version
Version: 2.3.1-16

Hm.

Okay, I'll add -r to TESTOPTS and run lots of "make test".


----------------------------------------------------------------------

Comment By: Michael Hudson (mwh)
Date: 2003-07-28 15:54

Message:
Logged In: YES 
user_id=6656

This is deeply weird.

The most likely scenario that some *other* test (or combination of 
tests, sigh) is tickling a bug in glibc that test_ioctl is revealing.

Evidence for/against this could be acquired by adding '-r' to 
TESTOPTS and running make test a few times.  But I still don't 
understand why running regrtest.py from the shell passes.  Unless 
it's a Heisenbug, or just a flat out bug in the test.

Hmm.  Ten gets you one that it's test_fork1 that buggers it up.

It seems exceedingly unlikely that this points to a real problem in 
Python's ioctl code.  ioctl() is not the easiest thing in the world to 
write tests for...

----------------------------------------------------------------------

Comment By: Zooko O'Whielacronx (zooko)
Date: 2003-07-26 13:20

Message:
Logged In: YES 
user_id=52562

Okay, I added "-v" to TESTOPTS in Makefile.

test_ioctl
test_ioctl (test.test_ioctl.IoctlTests) ... FAIL
test_ioctl_mutate (test.test_ioctl.IoctlTests) ... FAIL

======================================================================
FAIL: test_ioctl (test.test_ioctl.IoctlTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File
"/home/zooko/playground/python/python/dist/src/Lib/test/test_ioctl.py",
line 22, in test_ioctl
    self.assertEquals(pgrp, struct.unpack("i", r)[0])
  File
"/home/zooko/playground/python/python/dist/src/Lib/unittest.py",
line 292, in failUnlessEqual
    raise self.failureException, \
AssertionError: 32261 != 28460

======================================================================
FAIL: test_ioctl_mutate (test.test_ioctl.IoctlTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File
"/home/zooko/playground/python/python/dist/src/Lib/test/test_ioctl.py",
line 31, in test_ioctl_mutate
    self.assertEquals(pgrp, buf[0])
  File
"/home/zooko/playground/python/python/dist/src/Lib/unittest.py",
line 292, in failUnlessEqual
    raise self.failureException, \
AssertionError: 32261 != 28460

----------------------------------------------------------------------
Ran 2 tests in 0.002s

FAILED (failures=2)
test test_ioctl failed -- errors occurred in
test.test_ioctl.IoctlTests


----------------------------------------------------------------------

Comment By: Michael Hudson (mwh)
Date: 2003-07-26 00:52

Message:
Logged In: YES 
user_id=6656

Oh dear.

Could you hack 'make test' to pass -v to regrtest?

----------------------------------------------------------------------

Comment By: Zooko O'Whielacronx (zooko)
Date: 2003-07-26 00:44

Message:
Logged In: YES 
user_id=52562

I cut and pasted the unit test code and ran it, and it passed.
So I suppose it's a bug in how "make test" invokes the
test_ioctl unit test?

----------------------------------------------------------------------

Comment By: Michael Hudson (mwh)
Date: 2003-07-26 00:33

Message:
Logged In: YES 
user_id=6656

Can you dig?  I.e. more info than "test_ioctl fails"... try running 
the code that test_ioctl runs and see what that does

----------------------------------------------------------------------

Comment By: Zooko O'Whielacronx (zooko)
Date: 2003-07-26 00:33

Message:
Logged In: YES 
user_id=52562

The stuff I posted when I opened this bug report was all
from running "make test".  I have now discovered the
"regrtest.py" file and am experimenting with it.  -s doesn't
seem to work for test_ioctl.py:

HACK pion:~/playground/python/python/dist/src$ ./python
./Lib/test/regrtest.py -v -s ./Lib/test/test_ioctl.py
./Lib/test/test_ioctl
test ./Lib/test/test_ioctl crashed -- exceptions.ValueError:
Empty module name
Traceback (most recent call last):
  File "./Lib/test/regrtest.py", line 394, in runtest
    the_package = __import__(abstest, globals(), locals(), [])
ValueError: Empty module name
1 test failed:
    ./Lib/test/test_ioctl
Traceback (most recent call last):
  File "./Lib/test/regrtest.py", line 1005, in ?
    main()
  File "./Lib/test/regrtest.py", line 332, in main
    os.unlink(filename)
OSError: [Errno 2] No such file or directory: '/tmp/pynexttest'


But running regrtest.py by itself runs a bunch of tests
including test_ioctl, apparently successfully:

HACK pion:~/playground/python/python/dist/src$ ./python
./Lib/test/regrtest.py
...
test_ioctl
...
224 tests OK.
31 tests skipped:
    test_aepack test_al test_bsddb185 test_bsddb3 test_bz2
test_cd
    test_cl test_curses test_dbm test_email_codecs test_gdbm
test_gl
    test_imgfile test_linuxaudiodev test_locale test_macfs
    test_macostools test_nis test_normalization test_ossaudiodev
    test_pep277 test_plistlib test_scriptpackages
test_socket_ssl
    test_socketserver test_sunaudiodev test_timeout
test_unicode_file
    test_urllibnet test_winreg test_winsound
4 skips unexpected on linux2:
    test_dbm test_bz2 test_gdbm test_locale


So I guess this is an "issue" in the make target rather than
in the ioctl code itself...

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=777867&group_id=5470