def __init__(self, basename=None, suffix=None, no_disk=False, warn=None, debug=None): self._no_disk = no_disk self._basename = os.path.abspath(basename or ".coverage") self._suffix = suffix self._warn = warn self._debug = debug or NoDebugging() self._choose_filename() self._file_map = {} # Maps thread ids to SqliteDb objects. self._dbs = {} self._pid = os.getpid() # Are we in sync with the data file? self._have_used = False self._has_lines = False self._has_arcs = False self._current_context = None self._current_context_id = None self._query_context_ids = None
def sys_info(cls): """Our information for `Coverage.sys_info`. Returns a list of (key, value) pairs. """ with SqliteDb(":memory:", debug=NoDebugging()) as db: temp_store = [row[0] for row in db.execute("pragma temp_store")] compile_options = [row[0] for row in db.execute("pragma compile_options")] return [ ('sqlite3_version', sqlite3.version), ('sqlite3_sqlite_version', sqlite3.sqlite_version), ('sqlite3_temp_store', temp_store), ('sqlite3_compile_options', compile_options), ]
def __init__(self, basename=None, suffix=None, no_disk=False, warn=None, debug=None): """Create a :class:`CoverageData` object to hold coverage-measured data. Arguments: basename (str): the base name of the data file, defaulting to ".coverage". suffix (str or bool): has the same meaning as the `data_suffix` argument to :class:`coverage.Coverage`. no_disk (bool): if True, keep all data in memory, and don't write any disk file. warn: a warning callback function, accepting a warning message argument. debug: a `DebugControl` object (optional) """ self._no_disk = no_disk self._basename = os.path.abspath(basename or ".coverage") self._suffix = suffix self._warn = warn self._debug = debug or NoDebugging() self._choose_filename() self._file_map = {} # Maps thread ids to SqliteDb objects. self._dbs = {} self._pid = os.getpid() # Synchronize the operations used during collection. self._lock = threading.Lock() # Are we in sync with the data file? self._have_used = False self._has_lines = False self._has_arcs = False self._current_context = None self._current_context_id = None self._query_context_ids = None
def __init__(self, basename=None, suffix=None, warn=None, debug=None): self._basename = os.path.abspath(basename or ".coverage") self._suffix = suffix self._warn = warn self._debug = debug or NoDebugging() self._choose_filename() self._file_map = {} self._db = None self._pid = os.getpid() # Are we in sync with the data file? self._have_used = False self._has_lines = False self._has_arcs = False self._current_context = None self._current_context_id = None
def sys_info(cls): """Our information for `Coverage.sys_info`. Returns a list of (key, value) pairs. """ with SqliteDb(":memory:", debug=NoDebugging()) as db: temp_store = [row[0] for row in db.execute("pragma temp_store")] copts = [row[0] for row in db.execute("pragma compile_options")] # Yes, this is overkill. I don't like the long list of options # at the end of "debug sys", but I don't want to omit information. copts = [ "; ".join(copts[i:i + 3]) for i in range(0, len(copts), 3) ] return [ ('sqlite3_version', sqlite3.version), ('sqlite3_sqlite_version', sqlite3.sqlite_version), ('sqlite3_temp_store', temp_store), ('sqlite3_compile_options', copts), ]
def __init__(self, basename=None, suffix=None, warn=None, debug=None): """Create a CoverageData. `warn` is the warning function to use. `basename` is the name of the file to use for storing data. `debug` is a `DebugControl` object for writing debug messages. """ self._warn = warn self._debug = debug or NoDebugging() self.filename = os.path.abspath(basename or ".coverage") self.suffix = suffix # A map from canonical Python source file name to a dictionary in # which there's an entry for each line number that has been # executed: # # { 'filename1.py': [12, 47, 1001], ... } # self._lines = None # A map from canonical Python source file name to a dictionary with an # entry for each pair of line numbers forming an arc: # # { 'filename1.py': [(12,14), (47,48), ... ], ... } # self._arcs = None # A map from canonical source file name to a plugin module name: # # { 'filename1.py': 'django.coverage', ... } # self._file_tracers = {} # A list of dicts of information about the coverage.py runs. self._runs = []