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