diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 52f3af804ffece266f2479afc115e5e0cf88b7eb_LmdpdGxhYi1jaS55bWw=..6484beef902ced8a6da7037037877637f164530d_LmdpdGxhYi1jaS55bWw= 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -27,7 +27,8 @@
   script:
     - pip3 freeze
     - flake8 --exclude stub hgitaly hgext3rd
-    - PYTHONPATH=/ci/repos/mercurial pytest --cov hgitaly --cov-config=.coveragerc -v
+    - PYTHONPATH=/ci/repos/mercurial ./run-all-tests
+
 
 tests-hg-stable:
   stage: compat
@@ -43,7 +44,7 @@
     - /ci/repos/mercurial/hg version --debug
     - PYTHONPATH=/ci/repos/mercurial python3 -c "from mercurial import util; print(util.version())"
     - PYTHONPATH=/ci/repos/mercurial PATH=$HOME/.local/bin:$PATH
-        pytest --cov hgitaly --cov-config=.coveragerc -v
+         ./run-all-tests
 
 tests-hg-default:
   stage: compat
@@ -60,4 +61,4 @@
     - /ci/repos/mercurial/hg version --debug
     - PYTHONPATH=/ci/repos/mercurial python3 -c "from mercurial import util; print(util.version())"
     - PYTHONPATH=/ci/repos/mercurial PATH=$HOME/.local/bin:$PATH
-        pytest --cov hgitaly --cov-config=.coveragerc -v
+         ./run-all-tests
diff --git a/run-all-tests b/run-all-tests
new file mode 100755
index 0000000000000000000000000000000000000000..6484beef902ced8a6da7037037877637f164530d_cnVuLWFsbC10ZXN0cw==
--- /dev/null
+++ b/run-all-tests
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+set -ue
+
+pytest --doctest-modules --cov hgitaly --cov-config=.coveragerc -v $@
\ No newline at end of file