diff --git a/.hgignore b/.hgignore
index f59d751b42acd343c3007b26bb77f19a110e7ce8_LmhnaWdub3Jl..0a0849f290ccf89ec63219151c20313031b6880a_LmhnaWdub3Jl 100644
--- a/.hgignore
+++ b/.hgignore
@@ -8,4 +8,4 @@
 *.orig
 \#*\#
 .\#*
-
+.coverage
diff --git a/tests/run-tests.py b/tests/run-tests.py
index f59d751b42acd343c3007b26bb77f19a110e7ce8_dGVzdHMvcnVuLXRlc3RzLnB5..0a0849f290ccf89ec63219151c20313031b6880a_dGVzdHMvcnVuLXRlc3RzLnB5 100755
--- a/tests/run-tests.py
+++ b/tests/run-tests.py
@@ -3948,8 +3948,10 @@
         # output.
         os.chdir(self._hgroot)
         covdir = os.path.join(_bytes2sys(self._installdir), '..', 'coverage')
-        cov = coverage(data_file=os.path.join(covdir, 'cov'))
+        cov = coverage(
+            data_file=os.path.join(_bytes2sys(self._outputdir), '.coverage'),
+        )
 
         # Map install directory paths back to source directory.
         cov.config.paths['srcdir'] = ['.', _bytes2sys(self._pythondir)]
 
@@ -3952,8 +3954,11 @@
 
         # Map install directory paths back to source directory.
         cov.config.paths['srcdir'] = ['.', _bytes2sys(self._pythondir)]
 
-        cov.combine()
+        cov.combine(data_paths=[
+            os.path.join(covdir, p) for p in os.listdir(covdir)
+        ])
+        cov.save()
 
         omit = [
             _bytes2sys(os.path.join(x, b'*'))