summaryrefslogtreecommitdiff
path: root/coverage/data.py
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2015-07-15 20:11:34 -0400
committerNed Batchelder <ned@nedbatchelder.com>2015-07-15 20:11:34 -0400
commit7358802affc00c6819ccb864ecf233fbf849a806 (patch)
treed55bdfd003cfc1dffc0b3499ce78469c3e97a4d1 /coverage/data.py
parentb60c72f45589510b35f12c758cf1550c64da4b7f (diff)
downloadpython-coveragepy-7358802affc00c6819ccb864ecf233fbf849a806.tar.gz
Move suffix logic into data.py
Diffstat (limited to 'coverage/data.py')
-rw-r--r--coverage/data.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/coverage/data.py b/coverage/data.py
index fb0fdb9..db575e1 100644
--- a/coverage/data.py
+++ b/coverage/data.py
@@ -2,8 +2,11 @@
import glob
import os
+import random
+import socket
from coverage.backward import iitems, pickle
+from coverage.debug import _TEST_NAME_FILE
from coverage.files import PathAliases
from coverage.misc import file_be_gone
@@ -263,6 +266,21 @@ class CoverageDataFiles(object):
"""
filename = self.filename
+ if suffix is True:
+ # If data_suffix was a simple true value, then make a suffix with
+ # plenty of distinguishing information. We do this here in
+ # `save()` at the last minute so that the pid will be correct even
+ # if the process forks.
+ extra = ""
+ if _TEST_NAME_FILE: # pragma: debugging
+ with open(_TEST_NAME_FILE) as f:
+ test_name = f.read()
+ extra = "." + test_name
+ suffix = "%s%s.%s.%06d" % (
+ socket.gethostname(), extra, os.getpid(),
+ random.randint(0, 999999)
+ )
+
if suffix:
filename += "." + suffix
data.write_file(filename)