[PATCH] Add parallel testing

Stephen Finucane stephen at that.guru
Sun Oct 4 22:15:50 AEDT 2020


This saves us a good deal of time, even allowing for process startup and
general overhead. Before:

  real    6m39.103s
  user    1m9.561s
  sys     0m2.705s

After:

  real    4m5.267s
  user    1m24.527s
  sys     0m3.828s

This requires N databases, where N is the N of processors on the host.
We need to update the docker configuration for this.

Signed-off-by: Stephen Finucane <stephen at that.guru>
---
 tools/docker/entrypoint.sh | 2 +-
 tox.ini                    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git tools/docker/entrypoint.sh tools/docker/entrypoint.sh
index 6314f1b6..8f7ea4f7 100755
--- tools/docker/entrypoint.sh
+++ tools/docker/entrypoint.sh
@@ -26,7 +26,7 @@ reset_data_mysql() {
 DROP DATABASE IF EXISTS patchwork;
 CREATE DATABASE patchwork CHARACTER SET utf8;
 GRANT ALL ON patchwork.* TO 'patchwork' IDENTIFIED BY 'password';
-GRANT ALL PRIVILEGES ON test_patchwork.* TO 'patchwork'@'%';
+GRANT ALL ON 'test_patchwork\_%'.* to 'patchwork'@'%';
 FLUSH PRIVILEGES;
 EOF
 }
diff --git tox.ini tox.ini
index 0849b059..28f29f6d 100644
--- tox.ini
+++ tox.ini
@@ -28,7 +28,7 @@ passenv =
     PW_TEST_DB_TYPE PW_TEST_DB_USER PW_TEST_DB_PASS PW_TEST_DB_HOST
     PW_TEST_DB_PORT
 commands =
-    python {toxinidir}/manage.py test --noinput {posargs:patchwork}
+    python {toxinidir}/manage.py test --noinput --parallel -- {posargs:patchwork}
 
 [testenv:bashate]
 deps = bashate
-- 
2.25.4



More information about the Patchwork mailing list