unable to run tests in parallel, capturemock not working
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
TextTest |
Invalid
|
Undecided
|
Unassigned |
Bug Description
My colleague is running ubuntu 14.10, texttest 3.27.1. With no queue system configuration, the tests won't run at all unless he checks 'run tests sequentially'. In that case, texttest works, but capturemock does not. Various stack traces appear, see below.
error from texttest:
Dynamic run failed, with the following errors:
Traceback (most recent call last):
File "/usr/local/
program.run()
File "/usr/local/
self._run()
File "/usr/local/
self.
File "/usr/local/
self.
File "/usr/local/
self.observers = map(lambda x : x(self.
File "/usr/local/
self.observers = map(lambda x : x(self.
File "/usr/local/
ThreadingTC
File "/usr/lib/
self.
File "/usr/lib/
self.
File "/usr/lib/
return getattr(
socket.error: [Errno 99] Cannot assign requested address
error from capturemock, plus attached log:
> remote: Traceback (most recent call
> remote: File "<writedir>
> remote: import capturemock;
> remote: File "/usr/local/
> remote: sock =
> remote: File "/usr/local/
> remote:
> remote: AttributeError: 'NoneType' object has no attribute
Changed in texttest: | |
status: | New → Invalid |
Problem you have is that your colleague's machine cannot open a socket on the local host. Usually this is caused by incorrect networking configuration, for example nonsense in /etc/hosts on Ubuntu.
Lack of this makes communication between processes via sockets impossible, i.e. running in parallel in TextTest or using the CaptureMock server, both of which use sockets.
To debug, something like this needs to be possible:
$ python socket( socket. AF_INET, socket.SOCK_DGRAM) gethostbyname( socket. gethostname( )) ('10.67. 20.30', 0))
Python 2.6.6 (r266:84292, Nov 21 2013, 10:50:32)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import socket
>>> s = socket.
>>> socket.
'10.67.20.30'
>>> s.bind(
If any of this throws an exception, you'll have trouble. It's usually (in my experience) because the IP address you get back is wrong, because the network settings are wrongly configured.