Python 3.1 test issue
George Trojan
george.trojan at noaa.gov
Fri Dec 18 14:09:09 EST 2015
On 12/16/2015 8:07 PM, Terry Reedy wrote:
> On 12/16/2015 1:22 PM, George Trojan wrote:
>> I installed Python 3.1 on RHEL 7.2.
>
> According to the output below, you installed 3.5.1. Much better than
> the years old 3.1.
>
This was not my only mistake. I ran the test on Fedora 19, not RHEL 7.2.
>> The command make test hangs (or
>> takes a lot of time on test_subprocess
>> [396/397] test_subprocess
>
>> [["test_socket", 0, false],
>
> This appears to pass arguments to a specific test, test_socket. I
> would guess this is done by setting sys.argv. This is the first I knew
> about this. What follows of a dict of options. Most could have been
> set with normal --option flags. Most are the defaults.
>
> > {"huntrleaks": false,
> > "match_tests": null,
> > "failfast": false,
> > "output_on_failure": false,
> > "use_resources":
>> ["curses", "network", "decimal", "cpu", "subprocess", "urlfetch"],
>> "pgo": false,
> > "timeout": null
> > }
> > ]
>
> The relevant non-default is 'use_resources'. In particular, 'cpu'
> runs 'certain CPU-heavy tests', and 'subprocess' runs all subprocess
> tests. I ran both 'python -m test -usubprocess test_subprocess' and
> 'python -m test -ucpu -usubprocess test_subprocess
> and both took about the same time and less than a minute.
>
> The only thing that puzzles me is that I don't see '"randomize": true'
> in the dict above, but test_subprocess is 317 in the default
> alphabetical order, not 396.
>
> You might try re-running with defaults: python -m test.
Thanks, after several trials I settled for command ("make test" hangs
for Python3.4.1 too):
dilbert at gtrojan> /usr/local/src/Python-3.4.1/python
Lib/test/test_socket.py
which was the culprit. After checking the code, I found that creating
RDS socket did not raise an exception.
>>> import socket
>>> s = socket.socket(socket.PF_RDS, socket.SOCK_SEQPACKET, 0)
>>>
It does on other RH based systems (Centos, RHEL, Fedora != 19). FC 19
has /proc/sys/net/rds, other systems don't. So this is probably not a
Python issue, but buggy implementation of RDS.
George
More information about the Python-list
mailing list