diff mbox

[6/6] tox: Use a range of ports for live servers in case of concurrent runs

Message ID 1442938309-3195-7-git-send-email-damien.lespiau@intel.com
State Accepted
Headers show

Commit Message

Damien Lespiau Sept. 22, 2015, 4:11 p.m. UTC
From:
https://docs.djangoproject.com/en/1.8/topics/testing/tools/#liveservertestcase

In the case where the tests are run by multiple processes in parallel (for
example, in the context of several simultaneous continuous integration builds),
the processes will compete for the same address, and therefore your tests might
randomly fail with an “Address already in use” error.

And indeed it was hapening in my setup:

Traceback (most recent call last):
  File
  ".../python2.7/site-packages/django/test/testcases.py",
  line 1193, in setUpClass
      raise cls.server_thread.error
      error: [Errno 98] Address already in use

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
---
 tox.ini | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Stephen Finucane Sept. 22, 2015, 5:27 p.m. UTC | #1
> From:

> https://docs.djangoproject.com/en/1.8/topics/testing/tools/#liveservertestc

> ase

> 

> In the case where the tests are run by multiple processes in parallel (for

> example, in the context of several simultaneous continuous integration

> builds),

> the processes will compete for the same address, and therefore your tests

> might

> randomly fail with an “Address already in use” error.

> 

> And indeed it was hapening in my setup:

> 

> Traceback (most recent call last):

>   File

>   ".../python2.7/site-packages/django/test/testcases.py",

>   line 1193, in setUpClass

>       raise cls.server_thread.error

>       error: [Errno 98] Address already in use

> 

> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>


Typo in the commit message (sorry) but:

Acked-by: Stephen Finucane <stephen.finucane@intel.com>
diff mbox

Patch

diff --git a/tox.ini b/tox.ini
index c04825e..e4d54bd 100644
--- a/tox.ini
+++ b/tox.ini
@@ -14,7 +14,8 @@  deps =
 setenv =
     DJANGO_SETTINGS_MODULE = patchwork.settings.dev
 commands =
-    {toxinidir}/manage.py test --noinput '{posargs:patchwork}'
+    {toxinidir}/manage.py test --noinput --liveserver=localhost:9000-9200 \
+        '{posargs:patchwork}'
 passenv =
     http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
     PW_TEST_DB_USER PW_TEST_DB_PASS DISPLAY