[ python-Bugs-777867 ] test_ioctl fails

SourceForge.net noreply at sourceforge.net
Fri Sep 23 09:33:26 CEST 2005


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

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
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: Monte Davidoff (mdavidoff)
Date: 2005-09-23 00:33

Message:
Logged In: YES 
user_id=1200009

The fix for this bug was included in Patch 1284289:

Lib/test/test_ioctl.py -- Fixed bug in import statement for
test.test_support. Fixed bug where the test would fail if
the test suite was being run in the backgroud. In this case,
the TIOCGPGRP ioctl on /dev/tty returns the session ID, not
the process group ID.

See also bug 780576.

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

Comment By: George Yoshida (quiver)
Date: 2005-03-19 10:05

Message:
Logged In: YES 
user_id=671362

On a linux box for my work, I had similar fail(test_ioctl and 
test_ioctl_mutate).

My System:
* Python : 2.3.3, 2.4
* kernel : 2.4.22
* GCC    : 2.95.3
* glibc  : 2.2

I don't know why but somehow test_ioctl.py seems to be 
invoked in the background on 'make test' process, which 
resuls in 2 fails.

Maybe the easiest way to make test_ioctl fail is :
  $ ./python ./Lib/test/regrtest.py test_ioctl &

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

Comment By: Michael Hudson (mwh)
Date: 2003-07-28 08: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 08: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 07: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 05: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-25 16: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-25 16: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-25 16: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-25 16: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


More information about the Python-bugs-list mailing list